From: Javier Sancho Date: Fri, 25 May 2018 11:25:16 +0000 (+0200) Subject: Fix problems with arrays X-Git-Url: https://git.jsancho.org/?a=commitdiff_plain;h=4063788a1580d4d236d3b89b8c6d87e12c158f33;p=datasette-pytables.git Fix problems with arrays --- diff --git a/datasette_pytables/__init__.py b/datasette_pytables/__init__.py index 93cc1f0..d16109b 100644 --- a/datasette_pytables/__init__.py +++ b/datasette_pytables/__init__.py @@ -94,7 +94,10 @@ class Connection: # Use 'where' statement or get all the rows def _cast_param(field, pname): # Cast value to the column type - coltype = table.coltypes[field] + if type(table) is tables.table.Table: + coltype = table.coltypes[field] + else: + coltype = table.dtype.name fcast = None if coltype == 'string': fcast = str @@ -107,6 +110,7 @@ class Connection: def _translate_where(where): # Translate SQL to PyTables expression + nonlocal start, end expr = '' operator = list(where)[0] @@ -118,9 +122,10 @@ class Connection: elif operator == 'exists': pass elif where == {'eq': ['rowid', 'p0']}: - nonlocal start, end start = int(params['p0']) end = start + 1 + elif where == {'gt': ['rowid', 'p0']}: + start = int(params['p0']) + 1 else: left, right = where[operator] if left in params: