in src/ab/plugins/db/base.py [0:0]
def table_sql(self, sql, table_name, column_names: list=None):
"""
return sql result over table
"""
table_info = self.table_info(table_name)
rows = self.execute(sql)
if not rows:
return rows
# convert decimal to float
column_names = column_names or rows[0].keys()
for c in table_info['columns']:
column_name = c['field']
if 'decimal' in c['type'] and column_name in column_names:
for row in rows:
if row[column_name] is not None:
row[column_name] = float(row[column_name])
return rows