Example #1
0
 def _type_affinity_fixture(self):
     return [
         ("LONGTEXT", sqltypes.TEXT()),
         ("TINYINT", sqltypes.INTEGER()),
         ("MEDIUMINT", sqltypes.INTEGER()),
         ("INT2", sqltypes.INTEGER()),
         ("UNSIGNED BIG INT", sqltypes.INTEGER()),
         ("INT8", sqltypes.INTEGER()),
         ("CHARACTER(20)", sqltypes.TEXT()),
         ("CLOB", sqltypes.TEXT()),
         ("CLOBBER", sqltypes.TEXT()),
         ("VARYING CHARACTER(70)", sqltypes.TEXT()),
         ("NATIVE CHARACTER(70)", sqltypes.TEXT()),
         ("BLOB", sqltypes.BLOB()),
         ("BLOBBER", sqltypes.NullType()),
         ("DOUBLE PRECISION", sqltypes.REAL()),
         ("FLOATY", sqltypes.REAL()),
         ("NOTHING WE KNOW", sqltypes.NUMERIC()),
     ]
Example #2
0
from sqlalchemy.sql import expression
from sqlalchemy.sql import operators
from sqlalchemy.sql.expression import BindParameter
from sqlalchemy_solr.solr_type_compiler import SolrTypeCompiler
from sqlalchemy_solr.solrdbapi.array import ARRAY

logging.basicConfig(format="%(asctime)s - %(message)s", level=logging.ERROR)

_type_map = {
    "binary": types.LargeBinary(),
    "boolean": types.Boolean(),
    "pdate": types.DateTime(),
    "pint": types.Integer(),
    "plong": types.BigInteger(),
    "pfloat": types.Float(),
    "pdouble": types.REAL(),
    "string": types.VARCHAR(),
    "text_general": types.Text(),
    "booleans": ARRAY(types.BOOLEAN()),
    "pints": ARRAY(types.Integer()),
    "plongs": ARRAY(types.BigInteger()),
    "pfloats": ARRAY(types.Float()),
    "pdoubles": ARRAY(types.REAL()),
    "strings": ARRAY(types.VARCHAR()),
}


class SolrCompiler(compiler.SQLCompiler):

    merge_ops = (operators.ge, operators.gt, operators.le, operators.lt)
    bounds = {