Example #1
0
 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()
Example #2
0
 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()
Example #3
0
 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)
Example #5
0
 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 ] ]
                  ]
                ]
Example #6
0
 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 ] ]
                  ]
                ]
Example #7
0
 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()
Example #8
0
 def inspect_connection(provider, conn):
     DBAPIProvider.inspect_connection(provider, conn)
     provider.json1_available = provider.check_json1(conn)
Example #9
0
 def __init__(provider, *args, **kwargs):
     DBAPIProvider.__init__(provider, *args, **kwargs)
     provider.transaction_lock = Lock()
Example #10
0
 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
Example #11
0
 def get_default_m2m_column_names(provider, entity):
     return [ column.upper() for column in DBAPIProvider.get_default_m2m_column_names(provider, entity) ]
Example #12
0
 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) ]
Example #13
0
 def get_default_m2m_table_name(provider, attr, reverse):
     return DBAPIProvider.get_default_m2m_table_name(provider, attr, reverse).upper()
Example #14
0
 def get_default_entity_table_name(provider, entity):
     return DBAPIProvider.get_default_entity_table_name(provider, entity).upper()