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
+17 -8
View File
@@ -20,6 +20,7 @@ including:
- SQLite & SpatiaLite - SQLite & SpatiaLite
- MySQL - MySQL
- Postgres - Postgres
- Firebird
- Oracle - Oracle
- MS SQL - MS SQL
- DB2 - DB2
@@ -313,6 +314,12 @@ if not 'google' in drivers:
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
drivers.append('Interbase') drivers.append('Interbase')
@@ -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,12 +3266,14 @@ 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"
@@ -3296,8 +3307,6 @@ 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)