Update of /cvsroot/sqlobject/SQLObject/SQLObject
In directory sc8-pr-cvs1:/tmp/cvs-serv1423/SQLObject
Modified Files:
DBConnection.py SQLBuilder.py SQLObject.py
Log Message:
* SomeClass.q.colName now uses proper dbNames
* orderBy clauses translate to dbName
Index: DBConnection.py
===================================================================
RCS file: /cvsroot/sqlobject/SQLObject/SQLObject/DBConnection.py,v
retrieving revision 1.31
retrieving revision 1.32
diff -C2 -d -r1.31 -r1.32
*** DBConnection.py 29 Apr 2003 09:36:25 -0000 1.31
--- DBConnection.py 5 May 2003 17:35:19 -0000 1.32
***************
*** 181,184 ****
--- 181,186 ----
if type(s) is type(""):
assert SQLBuilder.sqlIdentifier(s), "Strings in clauses are expected to be column identifiers. I got: %r" % s
+ if select.sourceClass._SO_columnDict.has_key(s):
+ s = select.sourceClass._SO_columnDict[s].dbName
return s
else:
Index: SQLBuilder.py
===================================================================
RCS file: /cvsroot/sqlobject/SQLObject/SQLObject/SQLBuilder.py,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** SQLBuilder.py 18 Apr 2003 08:20:53 -0000 1.4
--- SQLBuilder.py 5 May 2003 17:35:19 -0000 1.5
***************
*** 350,359 ****
raise ValueError, "Tables don't have values"
! class SmartTable(Table):
! _capRE = re.compile(r'[A-Z]+')
def __getattr__(self, attr):
! if self._capRE.search(attr):
! attr = attr[0] + self._capRE.sub(lambda m: '_%s' % m.group(0).lower(), attr[1:])
! return Table.__getattr__(self, attr)
class Field(SQLExpression):
--- 350,365 ----
raise ValueError, "Tables don't have values"
! class SQLObjectTable(Table):
!
! def __init__(self, soClass):
! self.soClass = soClass
! Table.__init__(self, soClass._table)
!
def __getattr__(self, attr):
! if attr == 'id':
! return Table.__getattr__(self, self.soClass._idName)
! else:
! return Table.__getattr__(
! self, self.soClass._SO_columnDict[attr].dbName)
class Field(SQLExpression):
Index: SQLObject.py
===================================================================
RCS file: /cvsroot/sqlobject/SQLObject/SQLObject/SQLObject.py,v
retrieving revision 1.30
retrieving revision 1.31
diff -C2 -d -r1.30 -r1.31
*** SQLObject.py 29 Apr 2003 09:47:48 -0000 1.30
--- SQLObject.py 5 May 2003 17:35:19 -0000 1.31
***************
*** 160,164 ****
# SQL where-clause generation. See the sql module for
# more.
! newClass.q = SQLBuilder.SmartTable(newClass._table)
for column in newClass._columns[:]:
--- 160,164 ----
# SQL where-clause generation. See the sql module for
# more.
! newClass.q = SQLBuilder.SQLObjectTable(newClass)
for column in newClass._columns[:]:
|