From 4063788a1580d4d236d3b89b8c6d87e12c158f33 Mon Sep 17 00:00:00 2001 From: Javier Sancho Date: Fri, 25 May 2018 13:25:16 +0200 Subject: [PATCH] Fix problems with arrays --- datasette_pytables/__init__.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) 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: -- 2.39.5