For the external Firebird dialect I am trying to get the following to work.
It's really identical to the Oracle equivalent, except for the dialect
name, but that's my issue.
kw = {
"prefixes": ["GLOBAL TEMPORARY"],
"firebird_on_commit": "PRESERVE ROWS",
}
metadata = sa.MetaData()
user_tmp = sa.Table(
"user_tmp",
metadata,
sa.Column("id", sa.INT, primary_key=True),
sa.Column("name", sa.VARCHAR(50)),
sa.Column("foo", sa.INT),
sa.UniqueConstraint("name", name="user_tmp_uq"),
sa.Index("user_tmp_ix", "foo"),
**kw
)
metadata.create_all(bind=engine)
I found the place in oracle/base.py (OracleDialect class) where its
declarations *appear *to be taking place ...
construct_arguments = [
(
sa_schema.Table,
{"resolve_synonyms": False, "on_commit": None, "compress": False},
),
(sa_schema.Index, {"bitmap": False, "compress": False}),
]
... but when I put the same thing for "on_commit" in FBDialect and run my
test code I continue to get
sqlalchemy.exc.ArgumentError: Argument 'firebird_on_commit' is not accepted
> by dialect 'firebird' on behalf of <class 'sqlalchemy.sql.schema.Table'>
>
I've tried tracing through the code when hitting an Oracle database (which
works) but I'm just not seeing where 'on_commit' becomes a "thing" for the
oracle dialect.
Any suggestions on where else I should look?
--
SQLAlchemy -
The Python SQL Toolkit and Object Relational Mapper
http://www.sqlalchemy.org/
To post example code, please provide an MCVE: Minimal, Complete, and Verifiable
Example. See http://stackoverflow.com/help/mcve for a full description.
---
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/sqlalchemy/5eeb1cb9-2ae8-47a0-bb1b-85d70db6e204%40googlegroups.com.