def rollback(provider, connection, cache=None): in_transaction = cache is not None and cache.in_transaction try: DBAPIProvider.rollback(provider, connection, cache) finally: if in_transaction: cache.in_transaction = False provider.release_lock()
def drop(provider, connection, cache=None): in_transaction = cache is not None and cache.in_transaction try: DBAPIProvider.drop(provider, connection, cache) finally: if in_transaction: cache.in_transaction = False provider.transaction_lock.release()
def release(provider, connection, cache=None): if cache is not None: db_session = cache.db_session if db_session is not None and db_session.ddl and cache.saved_fk_state: try: cursor = connection.cursor() sql = 'PRAGMA foreign_keys = true' if core.debug: log_orm(sql) cursor.execute(sql) except: provider.pool.drop(connection) raise DBAPIProvider.release(provider, connection, cache)
def release(provider, connection, cache=None): if cache is not None: db_session = cache.db_session if db_session is not None and db_session.ddl and cache.saved_fk_state: try: cursor = connection.cursor() sql = 'SET foreign_key_checks = 1' if core.debug: log_orm(sql) cursor.execute(sql) except: provider.pool.drop(connection) raise DBAPIProvider.release(provider, connection, cache)
def setUp(self): self.key1 = object() self.key2 = object() self.provider = DBAPIProvider() self.ast = [ SELECT, [ ALL, [COLUMN, None, 'A']], [ FROM, [None, TABLE, 'T1']], [ WHERE, [ EQ, [COLUMN, None, 'B'], [ PARAM, self.key1 ] ], [ EQ, [COLUMN, None, 'C'], [ PARAM, self.key2 ] ], [ EQ, [COLUMN, None, 'D'], [ PARAM, self.key2 ] ], [ EQ, [COLUMN, None, 'E'], [ PARAM, self.key1 ] ] ] ]
def setUp(self): self.key1 = 'KEY1' self.key2 = 'KEY2' self.provider = DBAPIProvider(pony_pool_mockup=TestPool(None)) self.ast = [ SELECT, [ ALL, [COLUMN, None, 'A']], [ FROM, [None, TABLE, 'T1']], [ WHERE, [ EQ, [COLUMN, None, 'B'], [ PARAM, self.key1 ] ], [ EQ, [COLUMN, None, 'C'], [ PARAM, self.key2 ] ], [ EQ, [COLUMN, None, 'D'], [ PARAM, self.key2 ] ], [ EQ, [COLUMN, None, 'E'], [ PARAM, self.key1 ] ] ] ]
def drop(provider, connection, cache=None): in_transaction = cache is not None and cache.in_transaction DBAPIProvider.drop(provider, connection, cache) if in_transaction: provider.transaction_lock.release()
def inspect_connection(provider, conn): DBAPIProvider.inspect_connection(provider, conn) provider.json1_available = provider.check_json1(conn)
def __init__(provider, *args, **kwargs): DBAPIProvider.__init__(provider, *args, **kwargs) provider.transaction_lock = Lock()
def normalize_vars(provider, vars, vartypes): DBAPIProvider.normalize_vars(provider, vars, vartypes) for key, value in iteritems(vars): if value == '': vars[key] = None vartypes[key] = NoneType
def get_default_m2m_column_names(provider, entity): return [ column.upper() for column in DBAPIProvider.get_default_m2m_column_names(provider, entity) ]
def get_default_column_names(provider, attr, reverse_pk_columns=None): return [ column.upper() for column in DBAPIProvider.get_default_column_names(provider, attr, reverse_pk_columns) ]
def get_default_m2m_table_name(provider, attr, reverse): return DBAPIProvider.get_default_m2m_table_name(provider, attr, reverse).upper()
def get_default_entity_table_name(provider, entity): return DBAPIProvider.get_default_entity_table_name(provider, entity).upper()