RecSQL is a hack that allows one to load table-like data records into an in-memory sqlite database for quick and dirty analysis via SQL. The SQLarray class has additional SQL functions such as sqrt or histogram defined. SQL tables can always be returned as numpy record arrays so that data can be easily handled in other packages such as numpy or plotted via matplotlib. Selections produce new SQLarray objects.
This a known issue, as documented for the SQLarray class. Eventually we would like to have a way to always (correctly) read in recarrays. Until that happens, the rest of this issue report explains the problem and suggests workarounds.
The error occurs because the recarray contained NumPy data types such as numpy.int64 that are not understood by sqlite. Either convert the data manually (by setting the numpy dtypes yourself on the recarray, or better: feed a simple list of tuples (“records”) to this class in the keyword argument records. Make sure that these tuples only contain standard Python types. Together with records you will also have to supply the names of the data columns in the keyword argument columns.