Package buildbot :: Package db :: Module enginestrategy :: Class BuildbotEngineStrategy
[frames] | no frames]

Class BuildbotEngineStrategy

source code

                                    object --+            
                                             |            
   sqlalchemy.engine.strategies.EngineStrategy --+        
                                                 |        
sqlalchemy.engine.strategies.DefaultEngineStrategy --+    
                                                     |    
sqlalchemy.engine.strategies.ThreadLocalEngineStrategy --+
                                                         |
                                                        BuildbotEngineStrategy

A subclass of the ThreadLocalEngineStrategy that can effectively interact with Buildbot.

This adjusts the passed-in parameters to ensure that we get the behaviors Buildbot wants from particular drivers, and wraps the outgoing Engine object so that its methods run in threads and return deferreds.

Nested Classes

Inherited from sqlalchemy.engine.strategies.ThreadLocalEngineStrategy: engine_cls

Instance Methods
 
special_case_sqlite(self, u, kwargs)
For sqlite, percent-substitute %(basedir)s and use a full path to the basedir.
source code
 
special_case_mysql(self, u, kwargs)
For mysql, take max_idle out of the query arguments, and use its value for pool_recycle.
source code
 
create(self, name_or_url, **kwargs)
Given arguments, returns a new Engine instance.
source code

Inherited from sqlalchemy.engine.strategies.EngineStrategy: __init__

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Variables
  name = 'buildbot'

Inherited from sqlalchemy.engine.strategies.ThreadLocalEngineStrategy: pool_threadlocal

Properties

Inherited from object: __class__

Method Details

special_case_sqlite(self, u, kwargs)

source code 

For sqlite, percent-substitute %(basedir)s and use a full path to the basedir. If using a memory database, force the pool size to be 1.

special_case_mysql(self, u, kwargs)

source code 

For mysql, take max_idle out of the query arguments, and use its value for pool_recycle. Also, force use_unicode and charset to be True and 'utf8', failing if they were set to anything else.

create(self, name_or_url, **kwargs)

source code 

Given arguments, returns a new Engine instance.

Overrides: sqlalchemy.engine.strategies.EngineStrategy.create
(inherited documentation)