Ejemplo n.º 1
0
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."
Ejemplo n.º 2
0
    '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):
Ejemplo n.º 3
0
        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):
Ejemplo n.º 4
0
    '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)