- attached oracle.diff
Oracle ignores schema argument for table_names
The table_names function for oracle ignores its schema argument, so all tables get loaded. It should respect its schema name and use it as a 'OWNER=:schema' where clause.
Similarly the default schema name should be set to the current user.
A simple test case where this blows up currently: 1. create two oracle users scott and scott2 2. create an identical table for both users 'testtable' 3. Try: import sqlalchemy as sa engine = sa.create_engine("oracle://scott:tiger@local") conn = engine.connect() meta = sa.MetaData() meta.reflect(schema='scott')
This blows up with an Exception because it finds two tables 'testtable' with identical names.
Comments (5)
-
Account Deleted -
repo owner - changed milestone to 0.4.xx
-
repo owner - changed status to resolved
thanks for the patch, had one little typo but otherwise was OK. I can't test its actual functionality here (though regression is OK) since I only have oracle XE which doesn't support "schema" as far as I can tell. 43d476ce60339f3369847191988b96b3f3665f44.
-
repo owner hm, it does do separate users though, so I guess I should stop making that excuse....
-
repo owner - removed milestone
Removing milestone: 0.4.xx (automated comment)
- Log in to comment
Diff to oracle.py to fix this issue