Jeff Peterson wrote:
> The view name itself isn't but the names of all the tables that make up
> that view are.  So I guess that must be why.

It is only looking at the columns declared in your view - the Table
reflection logic doesn't actually look at the original definition of the
view (there is a function for that available but that's not what you're
using here).

I'm not familiar with what Oracle does here but if it places view columns
into ALL_CONS_COLUMNS corresponding to the table column they represent,
that would be the effect.  But it seems strange that would be the case,
since there's no "constraint" on your view.

The other possibility is that you are actually reflecting tables somewhere
else.


>
> --
> Jeffrey D Peterson
> Webmaster
> Crary Industries, Inc.
>
>
>> -----Original Message-----
>> From: sqlalchemy@googlegroups.com [mailto:sqlalch...@googlegroups.com]
>> On Behalf Of Michael Bayer
>> Sent: Thursday, February 11, 2010 12:59 PM
>> To: sqlalchemy@googlegroups.com
>> Subject: RE: [sqlalchemy] Warnings take a really long time /
>> NotImplementedError
>>
>> Jeff Peterson wrote:
>> > That is the troubling part, I am reflecting a view, and yet it is
>> still
>> > touching all those tables in the DB for schema='CRAR1APP'
>>
>> does the name of your view appear at all in ALL_CONS_COLUMNS.TABLE_NAME
>> ?
>> that's the only way reflection of a view could get the name of a table
>> to
>> reflect.    if you turn on echo='debug' or set "sqlalchemy.engine" to
>> DEBUG level logging, you'd see all the rows returned from every query.
>>
>>
>> >
>> > --
>> > Jeffrey D Peterson
>> > Webmaster
>> > Crary Industries, Inc.
>> >
>> >
>> >> -----Original Message-----
>> >> From: sqlalchemy@googlegroups.com
>> [mailto:sqlalch...@googlegroups.com]
>> >> On Behalf Of Michael Bayer
>> >> Sent: Thursday, February 11, 2010 12:05 PM
>> >> To: sqlalchemy@googlegroups.com
>> >> Subject: RE: [sqlalchemy] Warnings take a really long time /
>> >> NotImplementedError
>> >>
>> >> I thought you were reflecting a view ?  a table will fan out to all
>> of
>> >> its
>> >> constraints, yes.
>> >>
>> >>
>> >> Jeff Peterson wrote:
>> >> > Right, and there is that same code outputted  for every table in
>> the
>> >> > schema, when reflecting that one view.  What I posted was just the
>> >> one
>> >> > snippet, it is repeated over and over for each different table.
>> >> >
>> >> > --
>> >> > Jeffrey D Peterson
>> >> > Webmaster
>> >> > Crary Industries, Inc.
>> >> >
>> >> >> -----Original Message-----
>> >> >> From: sqlalchemy@googlegroups.com
>> >> [mailto:sqlalch...@googlegroups.com]
>> >> >> On Behalf Of Michael Bayer
>> >> >> Sent: Thursday, February 11, 2010 11:46 AM
>> >> >> To: sqlalchemy@googlegroups.com
>> >> >> Subject: RE: [sqlalchemy] Warnings take a really long time /
>> >> >> NotImplementedError
>> >> >>
>> >> >> that SQL output is specific to 'table_name':
>> >> 'CFA_CASH_FLOW_STATUS_TAB'
>> >> >> and 'table_name': 'CFA_CASH_FLOW_TAB'.  that's two tables.
>> >> >>
>> >> >>
>> >> >> Jeff Peterson wrote:
>> >> >> >
>> >> >> >
>> >> >> > --
>> >> >> > Jeffrey D Peterson
>> >> >> > Webmaster
>> >> >> > Crary Industries, Inc.
>> >> >> >
>> >> >> > From: sqlalchemy@googlegroups.com
>> >> >> [mailto:sqlalch...@googlegroups.com] On
>> >> >> > Behalf Of Michael Bayer
>> >> >> > Sent: Wednesday, February 10, 2010 6:30 PM
>> >> >> > To: sqlalchemy@googlegroups.com
>> >> >> > Subject: Re: [sqlalchemy] Warnings take a really long time /
>> >> >> > NotImplementedError
>> >> >> >
>> >> >> >
>> >> >> > On Feb 10, 2010, at 6:05 PM, Jeff Peterson wrote:
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > It's touching a ton of tables, hundreds...if I had to guess I'd
>> >> say
>> >> >> every
>> >> >> > table in the schema.  The reasons for this are unknown to me,
>> >> >> certainly
>> >> >> > all those tables are not related specifically to the single
>> view I
>> >> am
>> >> >> > attempting to reflect.
>> >> >> >
>> >> >> > that shouldn't be possible on a single table reflect, if its a
>> >> view.
>> >> >> > Views have no foreign key metadata so it would have no reason
>> to
>> >> go
>> >> >> > anywhere else.   you'd have to provide more specifics in order
>> for
>> >> us
>> >> >> to
>> >> >> > see how that might be reproduced.
>> >> >> >
>> >> >> > Seeing this for basicall(I think) everything in the Schema:
>> >> >> >
>> >> >> >  INFO [sqlalchemy.engine.base.Engine.0x...5bcc]
>> >> >> >         SELECT a.index_name, a.column_name, b.uniqueness
>> >> >> >         FROM ALL_IND_COLUMNS a,
>> >> >> >         ALL_INDEXES b
>> >> >> >         WHERE
>> >> >> >             a.index_name = b.index_name
>> >> >> >             AND a.table_owner = b.table_owner
>> >> >> >             AND a.table_name = b.table_name
>> >> >> >
>> >> >> >         AND a.table_name = :table_name
>> >> >> >         AND a.table_owner = :schema
>> >> >> >         ORDER BY a.index_name, a.column_position
>> >> >> > 2010-02-11 11:01:43,410 INFO
>> >> sqlalchemy.engine.base.Engine.0x...5bcc
>> >> >> > {'table_name': 'CFA_CASH_FLOW_STATUS_TAB', 'schema':
>> 'CRAR1APP'}
>> >> >> > 2010-02-11 11:01:43,410 INFO
>> >> >> [sqlalchemy.engine.base.Engine.0x...5bcc]
>> >> >> > {'table_name': 'CFA_CASH_FLOW_STATUS_TAB', 'schema':
>> 'CRAR1APP'}
>> >> >> > 2010-02-11 11:01:43,413 INFO
>> >> sqlalchemy.engine.base.Engine.0x...5bcc
>> >> >> > SELECT column_name, data_type, data_length, data_precision,
>> >> >> data_scale,
>> >> >> > nullable, data_default FROM ALL_TAB_COLUMNS WHERE table_name =
>> >> >> :table_name
>> >> >> > AND owner = :owner ORDER BY column_id
>> >> >> > 2010-02-11 11:01:43,413 INFO
>> >> >> [sqlalchemy.engine.base.Engine.0x...5bcc]
>> >> >> > SELECT column_name, data_type, data_length, data_precision,
>> >> >> data_scale,
>> >> >> > nullable, data_default FROM ALL_TAB_COLUMNS WHERE table_name =
>> >> >> :table_name
>> >> >> > AND owner = :owner ORDER BY column_id
>> >> >> > 2010-02-11 11:01:43,414 INFO
>> >> sqlalchemy.engine.base.Engine.0x...5bcc
>> >> >> > {'owner': 'CRAR1APP', 'table_name': 'CFA_CASH_FLOW_TAB'}
>> >> >> > 2010-02-11 11:01:43,414 INFO
>> >> >> [sqlalchemy.engine.base.Engine.0x...5bcc]
>> >> >> > {'owner': 'CRAR1APP', 'table_name': 'CFA_CASH_FLOW_TAB'}
>> >> >> > 2010-02-11 11:01:43,421 INFO
>> >> sqlalchemy.engine.base.Engine.0x...5bcc
>> >> >> > SELECT
>> >> >> >              ac.constraint_name,
>> >> >> >              ac.constraint_type,
>> >> >> >              loc.column_name AS local_column,
>> >> >> >              rem.table_name AS remote_table,
>> >> >> >              rem.column_name AS remote_column,
>> >> >> >              rem.owner AS remote_owner,
>> >> >> >              loc.position as loc_pos,
>> >> >> >              rem.position as rem_pos
>> >> >> >            FROM all_constraints ac,
>> >> >> >              all_cons_columns loc,
>> >> >> >              all_cons_columns rem
>> >> >> >            WHERE ac.table_name = :table_name
>> >> >> >            AND ac.constraint_type IN ('R','P')
>> >> >> >            AND ac.owner = :owner
>> >> >> >            AND ac.owner = loc.owner
>> >> >> >            AND ac.constraint_name = loc.constraint_name
>> >> >> >            AND ac.r_owner = rem.owner(+)
>> >> >> >            AND ac.r_constraint_name = rem.constraint_name(+)
>> >> >> >            AND (rem.position IS NULL or
>> loc.position=rem.position)
>> >> >> >            ORDER BY ac.constraint_name, loc.position
>> >> >> > 2010-02-11 11:01:43,421 INFO
>> >> >> [sqlalchemy.engine.base.Engine.0x...5bcc]
>> >> >> > SELECT
>> >> >> >              ac.constraint_name,
>> >> >> >              ac.constraint_type,
>> >> >> >              loc.column_name AS local_column,
>> >> >> >              rem.table_name AS remote_table,
>> >> >> >              rem.column_name AS remote_column,
>> >> >> >              rem.owner AS remote_owner,
>> >> >> >              loc.position as loc_pos,
>> >> >> >              rem.position as rem_pos
>> >> >> >            FROM all_constraints ac,
>> >> >> >              all_cons_columns loc,
>> >> >> >              all_cons_columns rem
>> >> >> >            WHERE ac.table_name = :table_name
>> >> >> >            AND ac.constraint_type IN ('R','P')
>> >> >> >            AND ac.owner = :owner
>> >> >> >            AND ac.owner = loc.owner
>> >> >> >            AND ac.constraint_name = loc.constraint_name
>> >> >> >            AND ac.r_owner = rem.owner(+)
>> >> >> >            AND ac.r_constraint_name = rem.constraint_name(+)
>> >> >> >            AND (rem.position IS NULL or
>> loc.position=rem.position)
>> >> >> >            ORDER BY ac.constraint_name, loc.position
>> >> >> > 2010-02-11 11:01:43,421 INFO
>> >> sqlalchemy.engine.base.Engine.0x...5bcc
>> >> >> > {'owner': 'CRAR1APP', 'table_name': 'CFA_CASH_FLOW_TAB'}
>> >> >> >
>> >> >> > 2010-02-111:01:43,421 INFO
>> >> [sqlalchemy.engine.base.Engine.0x...5bcc]
>> >> >> > {'owner': 'CRAR1APP', 'table_name': 'CFA_CASH_FLOW_TAB'}
>> >> >> >
>> >> >> >
>> >> >> >
>> >> >> > * Snip *
>> >> >> >
>> >> >> > --
>> >> >> > You received this message because you are subscribed to the
>> Google
>> >> >> Groups
>> >> >> > "sqlalchemy" group.
>> >> >> > To post to this group, send email to
>> sqlalch...@googlegroups.com.
>> >> >> > To unsubscribe from this group, send email to
>> >> >> > sqlalchemy+unsubscr...@googlegroups.com.
>> >> >> > For more options, visit this group at
>> >> >> > http://groups.google.com/group/sqlalchemy?hl=en.
>> >> >> >
>> >> >> >
>> >> >>
>> >> >> --
>> >> >> You received this message because you are subscribed to the
>> Google
>> >> >> Groups "sqlalchemy" group.
>> >> >> To post to this group, send email to sqlalch...@googlegroups.com.
>> >> >> To unsubscribe from this group, send email to
>> >> >> sqlalchemy+unsubscr...@googlegroups.com.
>> >> >> For more options, visit this group at
>> >> >> http://groups.google.com/group/sqlalchemy?hl=en.
>> >> >
>> >> > --
>> >> > You received this message because you are subscribed to the Google
>> >> Groups
>> >> > "sqlalchemy" group.
>> >> > To post to this group, send email to sqlalch...@googlegroups.com.
>> >> > To unsubscribe from this group, send email to
>> >> > sqlalchemy+unsubscr...@googlegroups.com.
>> >> > For more options, visit this group at
>> >> > http://groups.google.com/group/sqlalchemy?hl=en.
>> >> >
>> >> >
>> >>
>> >> --
>> >> You received this message because you are subscribed to the Google
>> >> Groups "sqlalchemy" group.
>> >> To post to this group, send email to sqlalch...@googlegroups.com.
>> >> To unsubscribe from this group, send email to
>> >> sqlalchemy+unsubscr...@googlegroups.com.
>> >> For more options, visit this group at
>> >> http://groups.google.com/group/sqlalchemy?hl=en.
>> >
>> > --
>> > You received this message because you are subscribed to the Google
>> Groups
>> > "sqlalchemy" group.
>> > To post to this group, send email to sqlalch...@googlegroups.com.
>> > To unsubscribe from this group, send email to
>> > sqlalchemy+unsubscr...@googlegroups.com.
>> > For more options, visit this group at
>> > http://groups.google.com/group/sqlalchemy?hl=en.
>> >
>> >
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "sqlalchemy" group.
>> To post to this group, send email to sqlalch...@googlegroups.com.
>> To unsubscribe from this group, send email to
>> sqlalchemy+unsubscr...@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/sqlalchemy?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "sqlalchemy" group.
> To post to this group, send email to sqlalch...@googlegroups.com.
> To unsubscribe from this group, send email to
> sqlalchemy+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/sqlalchemy?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to