def _init_events(engine, mysql_sql_mode=None, **kw): """Set up event listeners for MySQL.""" if mysql_sql_mode is not None: @sqlalchemy.event.listens_for(engine, "connect") def _set_session_sql_mode(dbapi_con, connection_rec): cursor = dbapi_con.cursor() cursor.execute("SET SESSION sql_mode = %s", [mysql_sql_mode]) @sqlalchemy.event.listens_for(engine, "first_connect") def _check_effective_sql_mode(dbapi_con, connection_rec): if mysql_sql_mode is not None: _set_session_sql_mode(dbapi_con, connection_rec) cursor = dbapi_con.cursor() cursor.execute("SHOW VARIABLES LIKE 'sql_mode'") realmode = cursor.fetchone() if realmode is None: LOG.warning('Unable to detect effective SQL mode') else: realmode = realmode[1] LOG.debug('MySQL server mode set to %s', realmode) if 'TRADITIONAL' not in realmode.upper() and \ 'STRICT_ALL_TABLES' not in realmode.upper(): LOG.warning( "MySQL SQL mode is '%s', " "consider enabling TRADITIONAL or STRICT_ALL_TABLES", realmode) if ndb.ndb_status(engine): ndb.init_ndb_events(engine)
def setUp(self): super(NDBMockTestBase, self).setUp() mock_dbapi = mock.Mock() self.test_engine = test_engine = create_engine(_MOCK_CONNECTION, module=mock_dbapi) test_engine.dialect._oslodb_enable_ndb_support = True self.addCleanup(setattr, test_engine.dialect, "_oslodb_enable_ndb_support", False) ndb.init_ndb_events(test_engine)
def setUp(self): super(NDBMockTestBase, self).setUp() mock_dbapi = mock.Mock() self.test_engine = test_engine = create_engine( _MOCK_CONNECTION, module=mock_dbapi) test_engine.dialect._oslodb_enable_ndb_support = True self.addCleanup( setattr, test_engine.dialect, "_oslodb_enable_ndb_support", False ) ndb.init_ndb_events(test_engine)