diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-03-13 00:24:54 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2006-03-13 00:24:54 +0000 |
| commit | c5e1abc7f7adce841775ea92b72bcf95207027af (patch) | |
| tree | b406fd4e6ede57ed8805a40a909c3c69207d3414 /lib/sqlalchemy/databases/oracle.py | |
| parent | 2ce45d70c7e499fd6c239d963f50cd839b28629b (diff) | |
| download | sqlalchemy-c5e1abc7f7adce841775ea92b72bcf95207027af.tar.gz | |
refactor to Compiled.get_params() to return new ClauseParameters object, a more intelligent bind parameter dictionary that does type conversions late and preserves the unconverted value; used to fix mappers not comparing correct value in post-fetch [ticket:110]
removed pre_exec assertion from oracle/firebird regarding "check for sequence/primary key value"
fix to Unicode type to check for null, fixes [ticket:109]
create_engine() now uses genericized parameters; host/hostname, db/dbname/database, password/passwd, etc. for all engine connections
fix to select([func(column)]) so that it creates a FROM clause to the column's table, fixes [ticket:111]
doc updates for column defaults, indexes, connection pooling, engine params
unit tests for the above bugfixes
Diffstat (limited to 'lib/sqlalchemy/databases/oracle.py')
| -rw-r--r-- | lib/sqlalchemy/databases/oracle.py | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/lib/sqlalchemy/databases/oracle.py b/lib/sqlalchemy/databases/oracle.py index 8f8058680..21b478001 100644 --- a/lib/sqlalchemy/databases/oracle.py +++ b/lib/sqlalchemy/databases/oracle.py @@ -90,7 +90,7 @@ def descriptor(): class OracleSQLEngine(ansisql.ANSISQLEngine): def __init__(self, opts, use_ansi = True, module = None, **params): self._use_ansi = use_ansi - self.opts = opts or {} + self.opts = self._translate_connect_args((None, 'dsn', 'user', 'password'), opts) if module is None: self.module = cx_Oracle else: @@ -181,18 +181,7 @@ order by UCC.CONSTRAINT_NAME""",{'table_name' : table.name.upper()}) return self.context.last_inserted_ids def pre_exec(self, proxy, compiled, parameters, **kwargs): - # this is just an assertion that all the primary key columns in an insert statement - # have a value set up, or have a default generator ready to go - if getattr(compiled, "isinsert", False): - if isinstance(parameters, list): - plist = parameters - else: - plist = [parameters] - for param in plist: - for primary_key in compiled.statement.table.primary_key: - if not param.has_key(primary_key.key) or param[primary_key.key] is None: - if primary_key.default is None: - raise "Column '%s.%s': Oracle primary key columns require a default value or a schema.Sequence to create ids" % (primary_key.table.name, primary_key.name) + pass def _executemany(self, c, statement, parameters): rowcount = 0 |
