- if type(field_name) is dict and 'distinct' in field_name:
- field_name = field_name['distinct']
- if field_name == 'rowid':
- row['rowid'] = get_rowid(table_row)
- elif field_name == '*':
- for col in colnames:
- row[col] = normalize_field_value(get_row_value(table_row, col))
+ if isinstance(field_name, dict) and 'distinct' in field_name:
+ field_name = field_name['distinct']
+ if field_name == 'rowid':
+ row['rowid'] = get_rowid(table_row)
+ elif field_name == '*':
+ for col in colnames:
+ row[col] = normalize_field_value(get_row_value(table_row, col))
+ elif isinstance(field_name, dict):
+ if field_name.get('count') == '*':
+ row['count(*)'] = int(table.nrows)
+ elif field_name.get('json_type'):
+ field_name = field_name.get('json_type')
+ row['json_type(' + field_name + ')'] = _get_field_type(field_name)