if djangoVersion[:2] >= (1, 7): from sqlany_django.schema import DatabaseSchemaEditor if djangoVersion[:2] >= (1, 8): from sqlany_django.creation import global_data_types DatabaseError = Database.DatabaseError IntegrityError = Database.IntegrityError if djangoVersion[0] >= 2: from decimal import Decimal decimal_converter = Decimal else: decimal_converter = util.typecast_decimal Database.register_converter(Database.DT_TIMESTAMP, util.typecast_timestamp) Database.register_converter(Database.DT_DATE, util.typecast_date) Database.register_converter(Database.DT_TIME, util.typecast_time) Database.register_converter(Database.DT_DECIMAL, decimal_converter) Database.register_converter(Database.DT_BIT, lambda x: x if x is None else bool(x)) PAUSE = False def _datetimes_in(args): def fix(arg): if isinstance(arg, datetime.datetime): if is_naive(arg): warnings.warn( "Received a naive datetime (%s) while timezone support is active."
'uniqueidentifier': UNIQUEIDENTIFIER, } # converter function, only argument is the value returned # from the database that we want to convert _decimal_converter = lambda decAsString: decimal.Decimal(decAsString) if decAsString is not None else None # list of types to have converted, and the callable that sqlanydb calls when # it needs to convert said type _converter_list = [(sqlanydb.DT_DECIMAL, _decimal_converter)] # register any converters we have with sqlanydb list(itertools.starmap(lambda x, y: sqlanydb.register_converter(x, y), _converter_list)) class SQLAnyInspector(reflection.Inspector): def __init__(self, conn): reflection.Inspector.__init__(self, conn) def get_table_id(self, table_name, schema=None): """Return the table id from `table_name` and `schema`.""" return self.dialect.get_table_id(self.bind, table_name, schema, info_cache=self.info_cache) class SQLAnyExecutionContext(default.DefaultExecutionContext):
util = utils from django.db.backends.signals import connection_created from sqlany_django.client import DatabaseClient from sqlany_django.creation import DatabaseCreation from sqlany_django.introspection import DatabaseIntrospection from sqlany_django.validation import DatabaseValidation if djangoVersion[:2] >= (1, 7): from sqlany_django.schema import DatabaseSchemaEditor if djangoVersion[:2] >= (1, 8): from sqlany_django.creation import global_data_types DatabaseError = Database.DatabaseError IntegrityError = Database.IntegrityError Database.register_converter(Database.DT_TIMESTAMP, util.typecast_timestamp) Database.register_converter(Database.DT_DATE, util.typecast_date) Database.register_converter(Database.DT_TIME, util.typecast_time) Database.register_converter(Database.DT_DECIMAL, util.typecast_decimal) Database.register_converter(Database.DT_BIT, lambda x: x if x is None else bool(x)) def trace(x): # print( x ) return x def _datetimes_in(args): def fix(arg): if isinstance(arg, datetime.datetime): if is_naive(arg):
'timestamp': TIMESTAMP, 'uniqueidentifier': UNIQUEIDENTIFIER, } # converter function, only argument is the value returned # from the database that we want to convert _decimal_converter = lambda decAsString: decimal.Decimal( decAsString) if decAsString is not None else None # list of types to have converted, and the callable that sqlanydb calls when # it needs to convert said type _converter_list = [(sqlanydb.DT_DECIMAL, _decimal_converter)] # register any converters we have with sqlanydb list( itertools.starmap(lambda x, y: sqlanydb.register_converter(x, y), _converter_list)) class SQLAnyInspector(reflection.Inspector): def __init__(self, conn): reflection.Inspector.__init__(self, conn) def get_table_id(self, table_name, schema=None): """Return the table id from `table_name` and `schema`.""" return self.dialect.get_table_id(self.bind, table_name, schema, info_cache=self.info_cache)