dabo Commit
Revision 5204
Date: 2009-05-06 09:38:08 -0700 (Wed, 06 May 2009)
Author: Paul
Trac: http://trac.dabodev.com/changeset/5204
Changed:
U trunk/dabo/db/dCursorMixin.py
Log:
This fixes the changes in r5180 that broke the old-style setFromClause() that
included the joins instead of setting them separately with addJoin().
Diff:
Modified: trunk/dabo/db/dCursorMixin.py
===================================================================
--- trunk/dabo/db/dCursorMixin.py 2009-05-04 21:42:02 UTC (rev 5203)
+++ trunk/dabo/db/dCursorMixin.py 2009-05-06 16:38:08 UTC (rev 5204)
@@ -2151,8 +2151,21 @@
def setChildFilter(self, fld, val):
""" This method sets the appropriate filter for dependent child
queries."""
- # The alias is the last 'word' in the FROM clause
- alias = self.sqlManager._fromClause.split()[-1]
+
+ def getTableAlias(fromClause):
+ joinStrings = ["left join", "right join", "outer join",
"inner join", "join"]
+ foundAlias = None
+ for joinString in joinStrings:
+ at = fromClause.lower().find(joinString)
+ if at >= 0:
+ foundAlias = fromClause[:at].strip()
+ break
+ if not foundAlias:
+ # The alias is the last 'word' in the FROM
clause
+ foundAlias = fromClause.strip().split()[-1]
+ return foundAlias
+
+ alias = getTableAlias(self.sqlManager._fromClause)
filtExpr = " %s.%s = %s " % (alias, fld, val)
self.setChildFilterClause(filtExpr)
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/dabo-dev
Searchable Archives: http://leafe.com/archives/search/dabo-dev
This message:
http://leafe.com/archives/byMID/[email protected]