new default firebird driver, thanks mariuz

This commit is contained in:
mdipierro
2012-08-30 15:10:45 -05:00
parent 0553e5b50e
commit 15923fceaf
2 changed files with 20 additions and 11 deletions
+1 -1
View File
@@ -1 +1 @@
Version 2.0.2 (2012-08-30 15:01:19) stable Version 2.0.2 (2012-08-30 15:10:39) stable
+19 -10
View File
@@ -20,6 +20,7 @@ including:
- SQLite & SpatiaLite - SQLite & SpatiaLite
- MySQL - MySQL
- Postgres - Postgres
- Firebird
- Oracle - Oracle
- MS SQL - MS SQL
- DB2 - DB2
@@ -312,6 +313,12 @@ if not 'google' in drivers:
drivers.append('Sybase') drivers.append('Sybase')
except ImportError: except ImportError:
logger.debug('no Sybase driver') logger.debug('no Sybase driver')
try:
import fdb
drivers.append('Firebird')
except ImportError:
logger.debug('no Firebird driver')
try: try:
import kinterbasdb import kinterbasdb
@@ -3191,12 +3198,14 @@ class FireBirdAdapter(BaseAdapter):
credential_decoder=IDENTITY, driver_args={}, credential_decoder=IDENTITY, driver_args={},
adapter_args={}): adapter_args={}):
if 'driver_name' in adapter_args: if 'driver_name' in adapter_args:
if adapter_args['driver_name'] == 'kinterbasdb': if adapter_args['driver_name'] == 'fdb':
self.driver = kinterbasdb self.driver = fdb
elif adapter_args['driver_name'] == 'firebirdsql': elif adapter_args['driver_name'] == 'firebirdsql':
self.driver = firebirdsql self.driver = firebirdsql
elif adapter_args['driver_name'] == 'kinterbasdb':
self.driver = kinterbasdb
else: else:
self.driver = kinterbasdb self.driver = fdb
if not self.driver: if not self.driver:
raise RuntimeError, "Unable to import driver" raise RuntimeError, "Unable to import driver"
@@ -3257,13 +3266,15 @@ class FireBirdEmbeddedAdapter(FireBirdAdapter):
adapter_args={}): adapter_args={}):
if 'driver_name' in adapter_args: if 'driver_name' in adapter_args:
if adapter_args['driver_name'] == 'kinterbasdb': if adapter_args['driver_name'] == 'fdb':
self.driver = kinterbasdb self.driver = fdb
elif adapter_args['driver_name'] == 'firebirdsql': elif adapter_args['driver_name'] == 'firebirdsql':
self.driver = firebirdsql self.driver = firebirdsql
elif adapter_args['driver_name'] == 'kinterbasdb':
self.driver = kinterbasdb
else: else:
self.driver = kinterbasdb self.driver = fdb
if not self.driver: if not self.driver:
raise RuntimeError, "Unable to import driver" raise RuntimeError, "Unable to import driver"
self.db = db self.db = db
@@ -3296,9 +3307,7 @@ class FireBirdEmbeddedAdapter(FireBirdAdapter):
user=credential_decoder(user), user=credential_decoder(user),
password=credential_decoder(password), password=credential_decoder(password),
charset=charset) charset=charset)
#def connect(driver_args=driver_args):
# return kinterbasdb.connect(**driver_args)
def connect(driver_args=driver_args): def connect(driver_args=driver_args):
return self.driver.connect(**driver_args) return self.driver.connect(**driver_args)
self.pool_connection(connect) self.pool_connection(connect)