コード例 #1
0
ファイル: mysql_hook.py プロジェクト: gukoff/pamagent
 def __enter__(self):
     transaction = current_transaction()
     name = callable_name(self.__wrapped__.__enter__)
     with FuncWrapper(transaction, name):
         cursor = self.__wrapped__.__enter__()
     return self.__cursor_wrapper__(cursor, self._pam_dbapi2_module,
                                    self._pam_connect_params, None)
コード例 #2
0
 def commit(self):
     transaction = current_transaction()
     with DatabaseTrace(transaction,
                        'COMMIT',
                        self._pam_dbapi2_module,
                        database_name=self._pam_connect_params[0][0]):
         return self.__wrapped__.commit()
コード例 #3
0
ファイル: dbapi2.py プロジェクト: gukoff/pamagent
 def callproc(self, procedure_name, parameters=DEFAULT):
     transaction = current_transaction()
     with DatabaseTrace(transaction, 'CALL %s' % procedure_name,
                        self._pam_dbapi2_module, self._pam_connect_params):
         if parameters is not DEFAULT:
             return self.__wrapped__.callproc(procedure_name, parameters)
         else:
             return self.__wrapped__.callproc(procedure_name)
コード例 #4
0
 def rollback(self):
     transaction = current_transaction()
     with DatabaseTrace(transaction,
                        'ROLLBACK',
                        self._pam_dbapi2_module,
                        self._pam_connect_params,
                        database_name=self._pam_connect_params[0]):
         return self.__wrapped__.rollback()
コード例 #5
0
 def executescript(self, sql_script):
     transaction = current_transaction()
     with DatabaseTrace(transaction,
                        sql_script,
                        self._pam_dbapi2_module,
                        self._pam_connect_params,
                        database_name=self._pam_connect_params[0]):
         return self.__wrapped__.executescript(sql_script)
コード例 #6
0
 def executemany(self, sql, seq_of_parameters):
     transaction = current_transaction()
     with DatabaseTrace(transaction,
                        sql,
                        self._pam_dbapi2_module,
                        self._pam_connect_params,
                        database_name=self._pam_connect_params[0]):
         return self.__wrapped__.executemany(sql, seq_of_parameters)
コード例 #7
0
ファイル: dbapi2.py プロジェクト: gukoff/pamagent
 def commit(self):
     transaction = current_transaction()
     with DatabaseTrace(
             transaction,
             'COMMIT',
             self._pam_dbapi2_module,
             database_name=self._pam_connect_params[1]['database'],
             host=self._pam_connect_params[1].get('host'),
             port=self._pam_connect_params[1].get('port')):
         return self.__wrapped__.commit()
コード例 #8
0
ファイル: dbapi2.py プロジェクト: gukoff/pamagent
 def rollback(self):
     transaction = current_transaction()
     with DatabaseTrace(
             transaction,
             'ROLLBACK',
             self._pam_dbapi2_module,
             self._pam_connect_params,
             database_name=self._pam_connect_params[1]['database'],
             host=self._pam_connect_params[1].get('host'),
             port=self._pam_connect_params[1].get('port')):
         return self.__wrapped__.rollback()
コード例 #9
0
 def dynamic_wrapper(wrapped_func, *args):
     transaction = current_transaction()
     if transaction is None:
         return wrapped_func(*args[1])
     host, port, db = _instance_info(args[0])
     try:
         method = args[1][0].lower()
     except (IndexError, AttributeError):
         method = None
     if method not in _redis_methods:
         return wrapped_func(*args[1])
     with CacheTrace(transaction, product, method, host=host, port=port, db=db):
         return wrapped_func(*args[1])
コード例 #10
0
ファイル: dbapi2.py プロジェクト: gukoff/pamagent
 def __exit__(self, exc, value, tb, *args, **kwargs):
     transaction = current_transaction()
     name = callable_name(self.__wrapped__.__exit__)
     with FuncWrapper(transaction, name):
         if self.is_commit_on_exit(exc, value, tb):
             with DatabaseTrace(transaction, 'COMMIT',
                                self._pam_dbapi2_module,
                                self._pam_connect_params):
                 return self.__wrapped__.__exit__(exc, value, tb)
         else:
             with DatabaseTrace(transaction, 'ROLLBACK',
                                self._pam_dbapi2_module,
                                self._pam_connect_params):
                 return self.__wrapped__.__exit__(exc, value, tb)
コード例 #11
0
ファイル: dbapi2.py プロジェクト: gukoff/pamagent
 def executemany(self, sql, seq_of_parameters):
     transaction = current_transaction()
     try:
         parameters = seq_of_parameters[0]
     except (TypeError, IndexError):
         parameters = DEFAULT
     if parameters is not DEFAULT:
         with DatabaseTrace(transaction, sql, self._pam_dbapi2_module,
                            self._pam_connect_params,
                            self._pam_cursor_params, parameters):
             return self.__wrapped__.executemany(sql, seq_of_parameters)
     else:
         with DatabaseTrace(transaction, sql, self._pam_dbapi2_module,
                            self._pam_connect_params,
                            self._pam_cursor_params):
             return self.__wrapped__.executemany(sql, seq_of_parameters)
コード例 #12
0
 def execute(self, sql, parameters=DEFAULT):
     transaction = current_transaction()
     if parameters is not DEFAULT:
         with DatabaseTrace(transaction,
                            sql,
                            self._pam_dbapi2_module,
                            self._pam_connect_params,
                            database_name=self._pam_connect_params[0]):
             return self.__wrapped__.execute(sql, parameters)
     else:
         with DatabaseTrace(transaction,
                            sql,
                            self._pam_dbapi2_module,
                            self._pam_connect_params,
                            database_name=self._pam_connect_params[0]):
             return self.__wrapped__.execute(sql)
コード例 #13
0
 def execute(self, sql, parameters=DEFAULT, *args, **kwargs):
     transaction = current_transaction()
     if parameters is not DEFAULT:
         with DatabaseTrace(transaction, sql, self._pam_dbapi2_module,
                            self._pam_connect_params,
                            self._pam_cursor_params, parameters,
                            (args, kwargs)):
             return self.__wrapped__.execute(sql, parameters, *args,
                                             **kwargs)
     else:
         with DatabaseTrace(transaction,
                            sql,
                            self._pam_dbapi2_module,
                            self._pam_connect_params,
                            self._pam_cursor_params,
                            None, (args, kwargs),
                            database_name=self._pam_connect_params[0][0]):
             return self.__wrapped__.execute(sql, **kwargs)
コード例 #14
0
ファイル: dbapi2.py プロジェクト: gukoff/pamagent
 def execute(self, sql, parameters=DEFAULT, *args, **kwargs):
     transaction = current_transaction()
     if parameters is not DEFAULT:
         with DatabaseTrace(transaction,
                            sql,
                            self._pam_dbapi2_module,
                            self._pam_connect_params,
                            self._pam_cursor_params,
                            sql_parameters=parameters,
                            host=self._pam_connect_params[1].get('host'),
                            port=self._pam_connect_params[1].get('port')):
             return self.__wrapped__.execute(sql, parameters, *args,
                                             **kwargs)
     else:
         with DatabaseTrace(transaction,
                            sql,
                            self._pam_dbapi2_module,
                            self._pam_connect_params,
                            self._pam_cursor_params,
                            host=self._pam_connect_params[1].get('host'),
                            port=self._pam_connect_params[1].get('port')):
             return self.__wrapped__.execute(sql, **kwargs)
コード例 #15
0
ファイル: dbapi2.py プロジェクト: gukoff/pamagent
 def __call__(self, *args, **kwargs):
     transaction = current_transaction()
     with FunctionTrace(transaction, callable_name(self.__wrapped__)):
         return self.__connection_wrapper__(
             self.__wrapped__(*args, **kwargs), self._pam_dbapi2_module,
             (args, kwargs))
コード例 #16
0
ファイル: dbapi2.py プロジェクト: gukoff/pamagent
 def __enter__(self):
     transaction = current_transaction()
     name = callable_name(self.__wrapped__.__enter__)
     with FuncWrapper(transaction, name):
         self.__wrapped__.__enter__()
     return self