oceanbase

Форк
0
/
my_utils.py 
46 строк · 1.5 Кб
1
#!/usr/bin/env python
2
# -*- coding: utf-8 -*-
3

4
import mysql.connector
5
from mysql.connector import errorcode
6
from my_error import MyError
7
from actions import QueryCursor
8
import logging
9

10
def results_to_str(desc, results):
11
  ret_str = ''
12
  max_width_list = []
13
  for col_desc in desc:
14
    max_width_list.append(len(str(col_desc[0])))
15
  col_count = len(max_width_list)
16
  for result in results:
17
    if col_count != len(result):
18
      raise MyError('column count is not equal, desc column count: {0}, data column count: {1}'.format(col_count, len(result)))
19
    for i in range(0, col_count):
20
      result_col_width = len(str(result[i]))
21
      if max_width_list[i] < result_col_width:
22
        max_width_list[i] = result_col_width
23
  # 打印列名
24
  for i in range(0, col_count):
25
    if i > 0:
26
      ret_str += '    ' # 空四格
27
    ret_str += str(desc[i][0])
28
    # 补足空白
29
    for j in range(0, max_width_list[i] - len(str(desc[i][0]))):
30
      ret_str += ' '
31
  # 打印数据
32
  for result in results:
33
    ret_str += '\n' # 先换行
34
    for i in range(0, col_count):
35
      if i > 0:
36
        ret_str += '    ' # 空四格
37
      ret_str += str(result[i])
38
      # 补足空白
39
      for j in range(0, max_width_list[i] - len(str(result[i]))):
40
        ret_str += ' '
41
  return ret_str
42

43
def query_and_dump_results(query_cur, sql):
44
  (desc, results) = query_cur.exec_query(sql)
45
  result_str = results_to_str(desc, results)
46
  logging.info('dump query results, sql: %s, results:\n%s', sql, result_str)
47

48

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.