[CalendarServer-changes] [6783] CalendarServer/branches/users/glyph/dal/txdav/base/datastore/test/ test_sqlsyntax.py
source_changes at macosforge.org
source_changes at macosforge.org
Wed Jan 19 13:00:29 PST 2011
Revision: 6783
http://trac.macosforge.org/projects/calendarserver/changeset/6783
Author: glyph at apple.com
Date: 2011-01-19 13:00:29 -0800 (Wed, 19 Jan 2011)
Log Message:
-----------
Failing test for name qualification.
Modified Paths:
--------------
CalendarServer/branches/users/glyph/dal/txdav/base/datastore/test/test_sqlsyntax.py
Modified: CalendarServer/branches/users/glyph/dal/txdav/base/datastore/test/test_sqlsyntax.py
===================================================================
--- CalendarServer/branches/users/glyph/dal/txdav/base/datastore/test/test_sqlsyntax.py 2011-01-19 21:00:19 UTC (rev 6782)
+++ CalendarServer/branches/users/glyph/dal/txdav/base/datastore/test/test_sqlsyntax.py 2011-01-19 21:00:29 UTC (rev 6783)
@@ -35,6 +35,7 @@
addSQLToSchema(schema=s, schemaData="""
create table FOO (BAR integer, BAZ integer);
create table BOZ (QUX integer);
+ create table OTHER (BAR integer, FOO_BAR integer);
""")
self.schema = SchemaSyntax(s)
@@ -164,3 +165,21 @@
self.assertRaises(TableMismatch, Select, [self.schema.BOZ.QUX],
From=self.schema.FOO)
+
+ def test_qualifyNames(self):
+ """
+ When two columns in the FROM clause requested from different tables have
+ the same name, the emitted SQL should explicitly disambiguate them.
+ """
+ self.assertEquals(
+ Select([self.schema.FOO.BAR,
+ self.schema.OTHER.BAR],
+ From=self.schema.FOO.join(self.schema.OTHER,
+ self.schema.OTHER.FOO_BAR ==
+ self.schema.FOO.BAR)).toSQL(),
+ SQLStatement(
+ "select FOO.BAR, OTHER.BAR from FOO "
+ "join OTHER on FOO_BAR == FOO.BAR"
+ )
+ )
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20110119/b51bc8c2/attachment-0001.html>
More information about the calendarserver-changes
mailing list