def pre_exec(self, connection, cursor, statement, parameters, echo = None, compiled = None, **kwargs):
# if a sequence was explicitly defined we do it here
- if compiled is None: return
+ if compiled is None or isinstance(parameters, list): return
if getattr(compiled, "isinsert", False):
last_inserted_ids = []
for primary_key in compiled.statement.table.primary_keys:
if not parameters.has_key(primary_key.key) or parameters[primary_key.key] is None:
if primary_key.sequence is None:
- raise "Oracle primary key columns require schema.Sequence to create ids"
+ raise "Column '%s.%s': Oracle primary key columns require schema.Sequence to create ids" % (primary_key.table.name, primary_key.name)
if echo is True or self.echo:
self.log("select %s.nextval from dual" % primary_key.sequence.name)
cursor.execute("select %s.nextval from dual" % primary_key.sequence.name)