[sqlalchemy] Re: relation that only fails with a backref

2008-05-08 Thread Bobby Impollonia

That worked, except that I had to skip the secondary kwarg on the
backref. If I include it, I get:
type 'exceptions.TypeError': __init__() got multiple values for
keyword argument 'secondary'
So it seems that it is assuming that I will use the same secondary
table for the backref but not that I am using the same (or, rather,
flipped) join conditions? That doesn't make too much sense to me
(although practically speaking, it is certainly not that big a deal to
have to specify the join conditions again in the backref). I will put
a bug in trac later today to track this issue for .5

Also, this is my first time using a relation with uselist set to false
and I was surprised that if multiple objects meet the condition it
just hands me the first one. Since getting the value of a relation
that has uselist=False is (in my mind) the moral equivalent of using
one() on a query, I had been hoping it would raise if multiple rows
were returned.


On Wed, May 7, 2008 at 8:22 PM, Michael Bayer [EMAIL PROTECTED] wrote:



  On May 7, 2008, at 7:23 PM, Bobby Impollonia wrote:

  
   secondary_table = Table('secondary', Base.metadata,
  Column('left_id', Integer, ForeignKey('parent.id'),
   nullable=False),
  Column('right_id', Integer, ForeignKey('parent.id'),
   nullable=False))
  
   class Parent(Base):
  __tablename__ = 'parent'
  id = Column(Integer, primary_key=True)
  cls = Column(String(50))
  __mapper_args__ = dict(polymorphic_on = cls )
  
   class Child1(Parent):
  __tablename__ = 'child1'
  id = Column(Integer, ForeignKey('parent.id'), primary_key=True)
  __mapper_args__ = dict(polymorphic_identity = 'child1',
   inherit_condition=Parent.id==id)
  
   class Child2(Parent):
  __tablename__ = 'child2'
  id = Column(Integer, ForeignKey('parent.id'), primary_key=True)
  __mapper_args__ = dict(polymorphic_identity = 'child2')
  
   Child1.left_child2 = relation(Child2, secondary = secondary_table,
  primaryjoin = Child1.c.id == secondary_table.c.right_id,
  secondaryjoin = Child2.c.id == secondary_table.c.left_id,
  uselist = False,
  foreign_keys = [secondary_table.c.left_id,
  secondary_table.c.right_id],
  backref = 'the_backref')
  
   The first time I try to create an object or do a query, I get:
   class 'sqlalchemy.exceptions.ArgumentError': Could not determine
   relation direction for primaryjoin condition 'child2.id =
   secondary.left_id', on relation Child2.the_backref (Child1). Specify
   the foreign_keys argument to indicate which columns on the relation
   are foreign.


  when you specify primaryjoin/secondaryjoin to relation(), those
  arguments are not copied into the backref automatically, since you've
  gone explicit (perhaps this should be adjusted in 0.5).  So you need
  to use backref=backref('the_backref', primaryjoin=join,
  secondaryjoin=otherjoin, secondary=table, foreign_keys=keys) in
  this case.




  


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



[sqlalchemy] Re: with_lockmode(update) doesn't work on postgresql when eagerloading

2008-05-08 Thread Michael Bayer


On May 8, 2008, at 10:03 AM, Boldyrev Yaroslav wrote:


 I have a parent-child relationship and i want to query for update  
 all children with  their parents eager loaded. But that doesn't work  
 as outer joins are not allowed in SELECT ..FOR UPDATE queries in  
 postgresql and eagerload always produce outer join.

 The only solution (and only for most recent revision) i have found  
 is to use explicit join and contains_eager:

 session.query(Child)\
.with_lockmode(update)\
.join(parent) \
.options(contains_eager(parent))

 but it's doesn't look intuitively.

 So, do i miss something or eagerload should produce inner join for  
 many-to-one relationship and if so, is there a chance to be fixed?


the behavior we want to eventually implement is to use JOIN instead of  
OUTER JOIN if all foreign key columns in the join condition are not  
nullable.  If the foreign key is nullable, then OUTER JOIN must be  
used for eager loading regardless of many-to-one one-to-many.   If  
your case is the latter then you might need to stick with the explicit  
approach.


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



[sqlalchemy] with_lockmode(update) doesn't work on postgresql when eagerloading

2008-05-08 Thread Boldyrev Yaroslav

I have a parent-child relationship and i want to query for update all 
children with  their parents eager loaded. But that doesn't work as outer joins 
are not allowed in SELECT ..FOR UPDATE queries in postgresql and eagerload 
always produce outer join.

The only solution (and only for most recent revision) i have found is to use 
explicit join and contains_eager:

session.query(Child)\
.with_lockmode(update)\
.join(parent) \
.options(contains_eager(parent))

but it's doesn't look intuitively. 

So, do i miss something or eagerload should produce inner join for many-to-one 
relationship and if so, is there a chance to be fixed?

--
Yaroslav Boldyrev



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



[sqlalchemy] Re: relation that only fails with a backref

2008-05-08 Thread Michael Bayer


On May 8, 2008, at 8:40 AM, Bobby Impollonia wrote:


 That worked, except that I had to skip the secondary kwarg on the
 backref. If I include it, I get:
 type 'exceptions.TypeError': __init__() got multiple values for
 keyword argument 'secondary'
 So it seems that it is assuming that I will use the same secondary
 table for the backref but not that I am using the same (or, rather,
 flipped) join conditions?

oh, yeah i just checked and it is taking secondary.

 That doesn't make too much sense to me
 (although practically speaking, it is certainly not that big a deal to
 have to specify the join conditions again in the backref). I will put
 a bug in trac later today to track this issue for .5

theres a reason its like this but I believe the reason is something  
very historic so I think we will jsut have backref copy the  
primaryjoin/secondaryjoin of the parent property in all cases unless  
specified.

 Also, this is my first time using a relation with uselist set to false
 and I was surprised that if multiple objects meet the condition it
 just hands me the first one. Since getting the value of a relation
 that has uselist=False is (in my mind) the moral equivalent of using
 one() on a query, I had been hoping it would raise if multiple rows
 were returned.

that again is a behavior change we'd like to implement but we will  
probably use a new name for it; people are in fact using uselist to  
return just the first value.

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



[sqlalchemy] Multiple SQLAlchemy DB usage in TurboGears

2008-05-08 Thread Bryn Divey

Hi all,

I'm cross-posting this from the turbogears group just in-case anyone
here has any insights - thanks in advance.

We're building an application on TG 1.0.2 using SQLAlchemy 0.3.11 are
are busy considering our options wrt multiple customer support. We'd
be hosting the app servers, and there's a low upper-bound to the
traffic they'll be hit with, so we're trying to figure out a way to
support multiple customers on a single app instance.

The problem is that the system is quite complex and there were
limitations which made making our DB schemas multi-customer rather
difficult. This means that we'd basically need to figure out - per
request - which customer we're working with, and load their database
up for the lifetime. An experimental solution exists which hijacks
things like turbogears.database.get_engine and replaces them with a
function which determines the correct engine to be loaded. I'm still
wading through it to try get it up and running again (I'm getting
Visit attached to incorrect session errors atm.)

The question I have is: is this the correct solution (or, at least, on
the right path)? I'd love to hear from anyone else who's tried
something similar and get your experience of the problem.

Thanks,
Bryn
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~--~~~~--~~--~--~---



[sqlalchemy] Re: Multiple SQLAlchemy DB usage in TurboGears

2008-05-08 Thread Michael Bayer


On May 8, 2008, at 10:55 AM, Bryn Divey wrote:


 We're building an application on TG 1.0.2 using SQLAlchemy 0.3.11 are
 are busy considering our options wrt multiple customer support. We'd
 be hosting the app servers, and there's a low upper-bound to the
 traffic they'll be hit with, so we're trying to figure out a way to
 support multiple customers on a single app instance.

we're going to be merging the 0.5 branch to trunk soon - 0.5 features  
better transaction integration and much cooler Query object.  Why  
start off using 0.3.11 ?  That version is ancient history, is 20%  
slower than 0.4 and probably 30% slower than 0.5.   you should at  
least be on 0.4.5 so that your upgrade path to 0.5 is not very painful.

 The problem is that the system is quite complex and there were
 limitations which made making our DB schemas multi-customer rather
 difficult. This means that we'd basically need to figure out - per
 request - which customer we're working with, and load their database
 up for the lifetime. An experimental solution exists which hijacks
 things like turbogears.database.get_engine and replaces them with a
 function which determines the correct engine to be loaded. I'm still
 wading through it to try get it up and running again (I'm getting
 Visit attached to incorrect session errors atm.)

I dont know about TG's integration but a per-request engine setup is a  
very reasonable (and typical) way to go.I'd try bypassing their  
SQLA integration altogether if thats possibleall you need is a  
ScopedSession, plug in the engine on each request, and you're ready to  
go.

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



[sqlalchemy] Re: Multiple SQLAlchemy DB usage in TurboGears

2008-05-08 Thread Bobby Impollonia

 I'd try bypassing their SQLA integration altogether if thats possible

It isn't possible if you are relying on the turbogears identity system
(cookie-based visitor tracking and access control).

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



[sqlalchemy] Getting All Columns From A Join

2008-05-08 Thread Alex Ezell

Hi,
I have two table models (Elixir objects) that do NOT have a
relationship defined in their models. So, I have a join in my query
like so:

fieldmap = Fieldmap.query.filter(
Fieldmap.import_history_id==history_id
).filter(
MemberField.account_id==account_id
).filter(
 
Fieldmap.import_history_field_name==MemberField.member_field_name
).all()

This query works fine, but the issue is that I am only returned the
columns in the Fieldmap table. I would like for the result to have all
the columns from both the Fieldmap and the MemberField tables.

I did have a go with the select() and from_statement() stuff, but I'm
not sure that can be mixed with the filters I have above. So, I don't
know if that's a possibility.

The short answer is to define a relationship in the models, but for a
few different reasons, I can't do that in this case.

If this needs to be on the Elixir list, please let me know.

Thanks!
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~--~~~~--~~--~--~---



[sqlalchemy] Re: Getting All Columns From A Join

2008-05-08 Thread Jonathan LaCour

Alex Ezell wrote:

 This query works fine, but the issue is that I am only returned
 the columns in the Fieldmap table. I would like for the result to
 have all the columns from both the Fieldmap and the MemberField
 tables.

You need to tell the ORM to return both entities.  By default, the
ORM will return the entity you are querying for, not additional
entities, regardless of the query.  You can do this by adding
the additional entity you want to fetch using the Query object's
`add_entity` method.

The SQLAlchemy documentation has several useful examples of how to
make use of `add_entity`.

--
Jonathan LaCour
http://cleverdevil.org

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



[sqlalchemy] Re: Getting All Columns From A Join

2008-05-08 Thread Alex Ezell

On Thu, May 8, 2008 at 2:25 PM, Jonathan LaCour
[EMAIL PROTECTED] wrote:

 Alex Ezell wrote:

 This query works fine, but the issue is that I am only returned
 the columns in the Fieldmap table. I would like for the result to
 have all the columns from both the Fieldmap and the MemberField
 tables.

 You need to tell the ORM to return both entities.  By default, the
 ORM will return the entity you are querying for, not additional
 entities, regardless of the query.  You can do this by adding
 the additional entity you want to fetch using the Query object's
 `add_entity` method.

Thanks Jonathan! This works great.

/alex

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



[sqlalchemy] Re: eagerload vs. joins

2008-05-08 Thread David Gardner

Actually not quite. The code bellow executes, however it doesn't produce 
a where clause for the filter_by(). I don't know if this is a bug or 
user error.
What ended up working for me was this:
statement = 
qstat_table.outerjoin(chunk_table).select(use_labels=True, 
whereclause=where_clause).order_by(JobInfo.c.job_name, 
Chunk.c.pass_field, JobInfo.c.owner)
query = session.query(JobInfo).options(contains_eager('Chunk'))
r = query.from_statement(statement).all()

David Gardner wrote:
 Thats it, I just need to use from_statement. OK this works producing
 good SQL:

 statement =
 qstat_table.outerjoin(chunk_table).select(use_labels=True).order_by(JobInfo.c.job_name,
 Chunk.c.pass_field, JobInfo.c.owner)
 query =
 session.query(JobInfo).options(contains_eager('Chunk')).filter_by(**kwargs)
 r = query.from_statement(statement).all()

   

-- 
David Gardner
Pipeline Tools Programmer, Sid the Science Kid
Jim Henson Creature Shop
(323) 802-1717 [EMAIL PROTECTED]



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



[sqlalchemy] Re: Multiple SQLAlchemy DB usage in TurboGears

2008-05-08 Thread Michael Bayer


On May 8, 2008, at 11:15 AM, Bobby Impollonia wrote:


 I'd try bypassing their SQLA integration altogether if thats possible

 It isn't possible if you are relying on the turbogears identity system
 (cookie-based visitor tracking and access control).

that sounds like a particular set of mappings and classes.  theres no  
issue using those; I was talking about their Session integration.


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



[sqlalchemy] Re: eagerload vs. joins

2008-05-08 Thread Michael Bayer


On May 8, 2008, at 4:01 PM, David Gardner wrote:


 Actually not quite. The code bellow executes, however it doesn't  
 produce
 a where clause for the filter_by(). I don't know if this is a bug or
 user error.

from_statement() entirely bypasses the Query's generation of SQL.  the  
operation you tried should have raised a warning when you called  
from_statement() after filter_by().


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



[sqlalchemy] Re: Returning single col, multiple rows in a single row

2008-05-08 Thread Michael Bayer


On May 8, 2008, at 12:36 PM, Redkins wrote:


 Hi All,

 I may be thinking about this in totally the wrong way, but let me
 explain what I'm trying to do. We have a CRM system and the boss wants
 a report of Potential sales and the Contacts related to them. The
 trick being, he wants one Potential per row, and a potential can have
 zero or more contacts.

an outer join of Potential to Contacts is not enough?

 return, in my case how  many contacts. I found a great solution here
 (http://www.dba-oracle.com/
 t_display_multiple_column_values_same_rows.htm), but it's based on
 Oracle and I'm using MySQL 5.1 and I can't see a MySQL equivalent. Any
 help or thoughts much appreciated.

those are strange solutions which seem like overcomplex versions of  
joining a table to itself using an alias.  I guess you want to have  
the Potential and multiple Contacts in a single row ?  how many  
contacts ?  what if there are 1800 contacts, you want a single row  
with many thousands of columns ?  (that wont work, BTW)





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



[sqlalchemy] Quoted Column Name Problem

2008-05-08 Thread Dan

I have an Oracle schema that has a column name labeled as
'when'  (without the quotes).  Everything works fine in PL/SQL when
referencing this column -- not special handling needs to be done.
However, we created a sqlalchemy definition as follows:

monitor_mts_table = Table('monitor_mts', metadata,
Column('monitor_mts_id', Integer, Sequence('seq_monitor_mts'),
primary_key = True),
Column('when', OracleDateTime),
Column('status', Integer),
Column('created_date', OracleDateTime),
)

When we reference this we get a database error from oracle that the
column monitor_mts.when does not exist.  Notice the double quotes.
This is what is throwing off oracle since the column definition in the
table is not double quoted.

I have tried appending the clause quote=False to the Column definition
above but it does not affect what is being sent to the database --
still a doubled quoted column name.

Any ideas how to work around this without changing the underlying
table definition in Oracle?

Thanks,

Dan

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



[sqlalchemy] Re: Quoted Column Name Problem

2008-05-08 Thread Michael Bayer


On May 8, 2008, at 5:40 PM, Dan wrote:


 That worked!  Thank you for the quick response.

in 0.5 I'm changing quote so that True/False will in fact force the  
quoting in either direction.   the default will be None.


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



[sqlalchemy] Re: relation that only fails with a backref

2008-05-08 Thread Bobby Impollonia

Another issue with this relation is that it doesn't like being eagerloaded.
Using the same model from my first post (with the broken backref
removed or fixed):
session.query(Child1).options(eagerload('left_child2')).first()
Generates the sql:
 SELECT anon_1.child1_id AS anon_1_child1_id, anon_1.parent_id AS
anon_1_parent_id, anon_1.parent_cls AS anon_1_parent_cls,
anon_2.child2_id AS anon_2_child2_id, anon_2.parent_id AS
anon_2_parent_id, anon_2.parent_cls AS anon_2_parent_cls
FROM (SELECT child1.id AS child1_id, parent.id AS parent_id,
parent.cls AS parent_cls, parent.oid AS parent_oid
FROM parent JOIN child1 ON parent.id = child1.id ORDER BY parent.oid
 LIMIT 1 OFFSET 0) AS anon_1 LEFT OUTER JOIN secondary AS secondary_1
ON anon_1.child1_id = secondary_1.right_id LEFT OUTER JOIN (SELECT
anon_1.child1_id AS anon_1_child1_id, anon_1.parent_id AS
anon_1_parent_id, anon_1.parent_cls AS anon_1_parent_cls, child2.id AS
child2_id
FROM (SELECT child1.id AS child1_id, parent.id AS parent_id,
parent.cls AS parent_cls, parent.oid AS parent_oid
FROM parent JOIN child1 ON parent.id = child1.id ORDER BY parent.oid
 LIMIT 1 OFFSET 0) AS anon_1 JOIN child2 ON anon_1.parent_id =
child2.id) AS anon_2 ON anon_2.child2_id = secondary_1.left_id ORDER
BY anon_1.oid, secondary_1.oid

Which fails with:
 (OperationalError) no such column: anon_2.parent_id

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



[sqlalchemy] database definitions - was sqlalchemy migration/schema creation

2008-05-08 Thread Lukasz Szybalski

Do you guys know what would give me column definition of table?

I have a table that I autoload and I would like to get this:

address_table = sqlalchemy.Table('address', metadata,
sqlalchemy.Column('Address_Sid', sqlalchemy.Integer, primary_key=True),
sqlalchemy.Column('FirstName', sqlalchemy.Unicode(40),nullable=False),
sqlalchemy.Column('LastName', sqlalchemy.Unicode(40),nullable=False),
sqlalchemy.Column('MaidenLastName', sqlalchemy.Unicode(40)),
sqlalchemy.Column('Email', sqlalchemy.Unicode(80),nullable=False),


So:
I can get a list of tables:
for i in metadata.tables:
... print i

list of columns:
 for i in metadata.tables['WMI'].original_columns:
... print i

How do I get column type, indexes and primary keys?

Lucas





On Tue, Apr 15, 2008 at 7:44 PM, Lukasz Szybalski [EMAIL PROTECTED] wrote:
 Hello,
 Is there maybe a feature in sqlalchemy that would allow me to autoload
 table from one database, and move it over to another database?

 1. I would like to print data structure from autoload table. (then
 copy and paste it into new file  and use it to create new
 table)(without typing every data structure)
 2. And/or autoload via one engine and autoupload via different engine
 and create_all()
 3. Analyze csv files and create sqlalchemy definition like structure.

 Ideas?

 Lucas




-- 
Automotive Recall Database. Cars, Trucks, etc.
http://www.lucasmanual.com/recall/
TurboGears Manual-Howto
http://lucasmanual.com/pdf/TurboGears-Manual-Howto.pdf

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



[sqlalchemy] Re: Multiple SQLAlchemy DB usage in TurboGears

2008-05-08 Thread Barry Hart
The identity and visit stuff is pluggable, i.e. you can replace the existing 
components without hackery; just write your own and specify which one to use in 
the application .cfg file. This probably sounds more intimidating than it is; 
the code is really pretty straightforward and you can use their implementations 
as a starting point.

You might consider using a single (separate) database to store all visit 
information for *all* the customers combined. Your visit schema could have an 
additional 'customer' column to distinguish which database to use for 
everything else.

Barry


- Original Message 
From: Michael Bayer [EMAIL PROTECTED]
To: sqlalchemy@googlegroups.com
Sent: Thursday, May 8, 2008 5:05:22 PM
Subject: [sqlalchemy] Re: Multiple SQLAlchemy DB usage in TurboGears



On May 8, 2008, at 11:15 AM, Bobby Impollonia wrote:


 I'd try bypassing their SQLA integration altogether if thats possible

 It isn't possible if you are relying on the turbogears identity system
 (cookie-based visitor tracking and access control).

that sounds like a particular set of mappings and classes.  theres no  
issue using those; I was talking about their Session integration.




  

Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
sqlalchemy group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~--~~~~--~~--~--~---



[sqlalchemy] Result Set From An Oracle Function

2008-05-08 Thread Dan

I am trying to call an Oracle function (that does not take any
parameters) and returns a result set.  Here is the code I used:

s = select([*], from_obj=[func.aaa_test()], bind=engine)

However, when I issue this I get the following error:

DatabaseError:  (DatabaseError) ORA-04044: procedure, function,
package, or type is not allowed here
'SELECT * FROM aaa_test' {}

How can I rework this?

Dan

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