+ left, right = where[operator]
+ if left in params:
+ _cast_param(right, left)
+ elif right in params:
+ _cast_param(left, right)
+
+ expr = "{left} {operator} {right}".format(left=left, operator=_operators.get(operator, operator), right=right)
+
+ return expr
+
+ if 'where' in parsed_sql:
+ if type(parsed_sql['where']) is dict:
+ query = _translate_where(parsed_sql['where'])
+ else:
+ query = parsed_sql['where']
+
+ # Sort by column
+ orderby = ''
+ if 'orderby' in parsed_sql:
+ orderby = parsed_sql['orderby']
+ if type(orderby) is list:
+ orderby = orderby[0]
+ orderby = orderby['value']
+ if orderby == 'rowid':
+ orderby = ''
+
+ # Limit number of rows
+ limit = None
+ if 'limit' in parsed_sql:
+ limit = int(parsed_sql['limit'])
+
+ # Truncate if needed
+ if page_size and max_returned_rows and truncate:
+ if max_returned_rows == page_size:
+ max_returned_rows += 1
+
+ # Execute query
+ if query:
+ table_rows = table.where(query, params, start, end)
+ elif orderby:
+ table_rows = table.itersorted(orderby, start=start, stop=end)