While implementing a custom DB dialect I found an asymmetry in the 
implementation of Engine.table_names() and Engine.has_table(). I do not 
understand if this is intended or can be considered a bug.

In the implementation of table_names() the optional parameter schema is 
checked for None and if None is replaced by self.dialect.
default_schema_name.

This is not the case in the implementation of has_table().

In some DBs tables with the same name can exist in different schemas. Given 
the current Engine Implementation situations seem possible where:

engine.has_table('foo') != 'foo' ni engine.table_names()

if the dialect comes with a default_schema_name, table_names() is called 
without schema, and the table 'foo' exists in the non-default schema.

Is this intended behavior?

-- 
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 post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to