sqlparse > 0.1.16 breaks calendar server
Hi, after upgrading to sqlparse-0.2.0 or sqlparse-0.2.2, I get: Starting caldavd. Traceback (most recent call last): File "/usr/local/bin/twistd", line 11, in <module> load_entry_point('Twisted==16.4.1', 'console_scripts', 'twistd')() File "/usr/local/lib/python2.7/site-packages/twisted/scripts/twistd.py", line 29, in run app.run(runApp, ServerOptions) File "/usr/local/lib/python2.7/site-packages/twisted/application/app.py", line 643, in run config.parseOptions() File "/usr/local/lib/python2.7/site-packages/twisted/application/app.py", line 610, in parseOptions usage.Options.parseOptions(self, options) File "/usr/local/lib/python2.7/site-packages/twisted/python/usage.py", line 262, in parseOptions for (cmd, short, parser, doc) in self.subCommands: File "/usr/local/lib/python2.7/site-packages/twisted/application/app.py", line 627, in subCommands for plug in sorted(plugins, key=attrgetter('tapname')): File "/usr/local/lib/python2.7/site-packages/twisted/plugins/caldav.py", line 29, in getProperty return getattr(reflect.namedClass(self.serviceMakerClass), propname) File "/usr/local/lib/python2.7/site-packages/twisted/python/reflect.py", line 165, in namedObject module = namedModule('.'.join(classSplit[:-1])) File "/usr/local/lib/python2.7/site-packages/twisted/python/reflect.py", line 151, in namedModule topLevel = __import__(name) File "/usr/local/lib/python2.7/site-packages/calendarserver/tap/caldav.py", line 41, in <module> from twistedcaldav.stdconfig import config File "/usr/local/lib/python2.7/site-packages/twistedcaldav/stdconfig.py", line 1854, in <module> config.update() File "/usr/local/lib/python2.7/site-packages/twistedcaldav/config.py", line 262, in update hook(self._data, reloading=reloading) File "/usr/local/lib/python2.7/site-packages/twistedcaldav/stdconfig.py", line 1772, in _updateCompliance from twistedcaldav.serverinfo import buildServerInfo File "/usr/local/lib/python2.7/site-packages/twistedcaldav/serverinfo.py", line 27, in <module> from twistedcaldav.resource import ReadOnlyNoCopyResourceMixIn File "/usr/local/lib/python2.7/site-packages/twistedcaldav/resource.py", line 32, in <module> from calendarserver.push.notifier import getPubSubAPSConfiguration File "/usr/local/lib/python2.7/site-packages/calendarserver/push/notifier.py", line 30, in <module> from txdav.common.datastore.sql_tables import schema File "/usr/local/lib/python2.7/site-packages/txdav/common/datastore/sql_tables.py", line 76, in <module> schema = _populateSchema() File "/usr/local/lib/python2.7/site-packages/txdav/common/datastore/sql_tables.py", line 62, in _populateSchema return SchemaSyntax(schemaFromPath(pathObj)) File "/usr/local/lib/python2.7/site-packages/twext/enterprise/dal/parseschema.py", line 102, in schemaFromPath addSQLToSchema(schema, schemaData) File "/usr/local/lib/python2.7/site-packages/twext/enterprise/dal/parseschema.py", line 147, in addSQLToSchema createType = stmt.token_next(1, True).value.upper() AttributeError: 'tuple' object has no attribute 'value' Axel --- PGP-Key:29E99DD6 ☀ computing @ chaos claudius
Am 12.11.2016 um 23:30 schrieb Axel Rau <Axel.Rau@chaos1.de>:
after upgrading to sqlparse-0.2.0 or sqlparse-0.2.2, I get:
The author demonstrates that sqlparse has no problems to parse current.sql: https://github.com/andialbrecht/sqlparse/issues/303 <https://github.com/andialbrecht/sqlparse/issues/303> So the bug must have to do with how calendarserver uses some classes from sqlparse. Axel --- PGP-Key:29E99DD6 ☀ computing @ chaos claudius
sqlparse had some incompatible API changes since 0.1.19, and we’ll have to update calendar server code to compensate. For now you need to use 0.1.19 sqlparse.
On Nov 12, 2016, at 2:30 PM, Axel Rau <Axel.Rau@Chaos1.DE> wrote:
Hi,
after upgrading to sqlparse-0.2.0 or sqlparse-0.2.2, I get:
Starting caldavd. Traceback (most recent call last): File "/usr/local/bin/twistd", line 11, in <module> load_entry_point('Twisted==16.4.1', 'console_scripts', 'twistd')() File "/usr/local/lib/python2.7/site-packages/twisted/scripts/twistd.py", line 29, in run app.run(runApp, ServerOptions) File "/usr/local/lib/python2.7/site-packages/twisted/application/app.py", line 643, in run config.parseOptions() File "/usr/local/lib/python2.7/site-packages/twisted/application/app.py", line 610, in parseOptions usage.Options.parseOptions(self, options) File "/usr/local/lib/python2.7/site-packages/twisted/python/usage.py", line 262, in parseOptions for (cmd, short, parser, doc) in self.subCommands: File "/usr/local/lib/python2.7/site-packages/twisted/application/app.py", line 627, in subCommands for plug in sorted(plugins, key=attrgetter('tapname')): File "/usr/local/lib/python2.7/site-packages/twisted/plugins/caldav.py", line 29, in getProperty return getattr(reflect.namedClass(self.serviceMakerClass), propname) File "/usr/local/lib/python2.7/site-packages/twisted/python/reflect.py", line 165, in namedObject module = namedModule('.'.join(classSplit[:-1])) File "/usr/local/lib/python2.7/site-packages/twisted/python/reflect.py", line 151, in namedModule topLevel = __import__(name) File "/usr/local/lib/python2.7/site-packages/calendarserver/tap/caldav.py", line 41, in <module> from twistedcaldav.stdconfig import config File "/usr/local/lib/python2.7/site-packages/twistedcaldav/stdconfig.py", line 1854, in <module> config.update() File "/usr/local/lib/python2.7/site-packages/twistedcaldav/config.py", line 262, in update hook(self._data, reloading=reloading) File "/usr/local/lib/python2.7/site-packages/twistedcaldav/stdconfig.py", line 1772, in _updateCompliance from twistedcaldav.serverinfo import buildServerInfo File "/usr/local/lib/python2.7/site-packages/twistedcaldav/serverinfo.py", line 27, in <module> from twistedcaldav.resource import ReadOnlyNoCopyResourceMixIn File "/usr/local/lib/python2.7/site-packages/twistedcaldav/resource.py", line 32, in <module> from calendarserver.push.notifier import getPubSubAPSConfiguration File "/usr/local/lib/python2.7/site-packages/calendarserver/push/notifier.py", line 30, in <module> from txdav.common.datastore.sql_tables import schema File "/usr/local/lib/python2.7/site-packages/txdav/common/datastore/sql_tables.py", line 76, in <module> schema = _populateSchema() File "/usr/local/lib/python2.7/site-packages/txdav/common/datastore/sql_tables.py", line 62, in _populateSchema return SchemaSyntax(schemaFromPath(pathObj)) File "/usr/local/lib/python2.7/site-packages/twext/enterprise/dal/parseschema.py", line 102, in schemaFromPath addSQLToSchema(schema, schemaData) File "/usr/local/lib/python2.7/site-packages/twext/enterprise/dal/parseschema.py", line 147, in addSQLToSchema createType = stmt.token_next(1, True).value.upper() AttributeError: 'tuple' object has no attribute 'value'
Axel --- PGP-Key:29E99DD6 ☀ computing @ chaos claudius
_______________________________________________ calendarserver-dev mailing list calendarserver-dev@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/calendarserver-dev
FYI I just tried using 0.2.2 with Calendar Server and started adjusting our code to reflect API changes, but now ran into an issue where sometimes a “CREATE TABLE FOO” statement is parsed as a Token and sometimes as a Function. It will take some time for us to get to the bottom of where that inconsistency lies.
On Nov 15, 2016, at 8:47 AM, Morgen Sagen <sagen@apple.com> wrote:
sqlparse had some incompatible API changes since 0.1.19, and we’ll have to update calendar server code to compensate. For now you need to use 0.1.19 sqlparse.
On Nov 12, 2016, at 2:30 PM, Axel Rau <Axel.Rau@Chaos1.DE> wrote:
Hi,
after upgrading to sqlparse-0.2.0 or sqlparse-0.2.2, I get:
Starting caldavd. Traceback (most recent call last): File "/usr/local/bin/twistd", line 11, in <module> load_entry_point('Twisted==16.4.1', 'console_scripts', 'twistd')() File "/usr/local/lib/python2.7/site-packages/twisted/scripts/twistd.py", line 29, in run app.run(runApp, ServerOptions) File "/usr/local/lib/python2.7/site-packages/twisted/application/app.py", line 643, in run config.parseOptions() File "/usr/local/lib/python2.7/site-packages/twisted/application/app.py", line 610, in parseOptions usage.Options.parseOptions(self, options) File "/usr/local/lib/python2.7/site-packages/twisted/python/usage.py", line 262, in parseOptions for (cmd, short, parser, doc) in self.subCommands: File "/usr/local/lib/python2.7/site-packages/twisted/application/app.py", line 627, in subCommands for plug in sorted(plugins, key=attrgetter('tapname')): File "/usr/local/lib/python2.7/site-packages/twisted/plugins/caldav.py", line 29, in getProperty return getattr(reflect.namedClass(self.serviceMakerClass), propname) File "/usr/local/lib/python2.7/site-packages/twisted/python/reflect.py", line 165, in namedObject module = namedModule('.'.join(classSplit[:-1])) File "/usr/local/lib/python2.7/site-packages/twisted/python/reflect.py", line 151, in namedModule topLevel = __import__(name) File "/usr/local/lib/python2.7/site-packages/calendarserver/tap/caldav.py", line 41, in <module> from twistedcaldav.stdconfig import config File "/usr/local/lib/python2.7/site-packages/twistedcaldav/stdconfig.py", line 1854, in <module> config.update() File "/usr/local/lib/python2.7/site-packages/twistedcaldav/config.py", line 262, in update hook(self._data, reloading=reloading) File "/usr/local/lib/python2.7/site-packages/twistedcaldav/stdconfig.py", line 1772, in _updateCompliance from twistedcaldav.serverinfo import buildServerInfo File "/usr/local/lib/python2.7/site-packages/twistedcaldav/serverinfo.py", line 27, in <module> from twistedcaldav.resource import ReadOnlyNoCopyResourceMixIn File "/usr/local/lib/python2.7/site-packages/twistedcaldav/resource.py", line 32, in <module> from calendarserver.push.notifier import getPubSubAPSConfiguration File "/usr/local/lib/python2.7/site-packages/calendarserver/push/notifier.py", line 30, in <module> from txdav.common.datastore.sql_tables import schema File "/usr/local/lib/python2.7/site-packages/txdav/common/datastore/sql_tables.py", line 76, in <module> schema = _populateSchema() File "/usr/local/lib/python2.7/site-packages/txdav/common/datastore/sql_tables.py", line 62, in _populateSchema return SchemaSyntax(schemaFromPath(pathObj)) File "/usr/local/lib/python2.7/site-packages/twext/enterprise/dal/parseschema.py", line 102, in schemaFromPath addSQLToSchema(schema, schemaData) File "/usr/local/lib/python2.7/site-packages/twext/enterprise/dal/parseschema.py", line 147, in addSQLToSchema createType = stmt.token_next(1, True).value.upper() AttributeError: 'tuple' object has no attribute 'value'
Axel --- PGP-Key:29E99DD6 ☀ computing @ chaos claudius
_______________________________________________ calendarserver-dev mailing list calendarserver-dev@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/calendarserver-dev
_______________________________________________ calendarserver-dev mailing list calendarserver-dev@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/calendarserver-dev
Yeah, this has always been a problem. Calendar Server pins a version of sqlparse since sqlparse has effectively _no_ compatibility contract, and really never has (every upgrade we've done required non-trivial code changes). -g
On Nov 15, 2016, at 09:51, Morgen Sagen <sagen@apple.com> wrote:
FYI I just tried using 0.2.2 with Calendar Server and started adjusting our code to reflect API changes, but now ran into an issue where sometimes a “CREATE TABLE FOO” statement is parsed as a Token and sometimes as a Function. It will take some time for us to get to the bottom of where that inconsistency lies.
On Nov 15, 2016, at 8:47 AM, Morgen Sagen <sagen@apple.com> wrote:
sqlparse had some incompatible API changes since 0.1.19, and we’ll have to update calendar server code to compensate. For now you need to use 0.1.19 sqlparse.
On Nov 12, 2016, at 2:30 PM, Axel Rau <Axel.Rau@Chaos1.DE> wrote:
Hi,
after upgrading to sqlparse-0.2.0 or sqlparse-0.2.2, I get:
Starting caldavd. Traceback (most recent call last): File "/usr/local/bin/twistd", line 11, in <module> load_entry_point('Twisted==16.4.1', 'console_scripts', 'twistd')() File "/usr/local/lib/python2.7/site-packages/twisted/scripts/twistd.py", line 29, in run app.run(runApp, ServerOptions) File "/usr/local/lib/python2.7/site-packages/twisted/application/app.py", line 643, in run config.parseOptions() File "/usr/local/lib/python2.7/site-packages/twisted/application/app.py", line 610, in parseOptions usage.Options.parseOptions(self, options) File "/usr/local/lib/python2.7/site-packages/twisted/python/usage.py", line 262, in parseOptions for (cmd, short, parser, doc) in self.subCommands: File "/usr/local/lib/python2.7/site-packages/twisted/application/app.py", line 627, in subCommands for plug in sorted(plugins, key=attrgetter('tapname')): File "/usr/local/lib/python2.7/site-packages/twisted/plugins/caldav.py", line 29, in getProperty return getattr(reflect.namedClass(self.serviceMakerClass), propname) File "/usr/local/lib/python2.7/site-packages/twisted/python/reflect.py", line 165, in namedObject module = namedModule('.'.join(classSplit[:-1])) File "/usr/local/lib/python2.7/site-packages/twisted/python/reflect.py", line 151, in namedModule topLevel = __import__(name) File "/usr/local/lib/python2.7/site-packages/calendarserver/tap/caldav.py", line 41, in <module> from twistedcaldav.stdconfig import config File "/usr/local/lib/python2.7/site-packages/twistedcaldav/stdconfig.py", line 1854, in <module> config.update() File "/usr/local/lib/python2.7/site-packages/twistedcaldav/config.py", line 262, in update hook(self._data, reloading=reloading) File "/usr/local/lib/python2.7/site-packages/twistedcaldav/stdconfig.py", line 1772, in _updateCompliance from twistedcaldav.serverinfo import buildServerInfo File "/usr/local/lib/python2.7/site-packages/twistedcaldav/serverinfo.py", line 27, in <module> from twistedcaldav.resource import ReadOnlyNoCopyResourceMixIn File "/usr/local/lib/python2.7/site-packages/twistedcaldav/resource.py", line 32, in <module> from calendarserver.push.notifier import getPubSubAPSConfiguration File "/usr/local/lib/python2.7/site-packages/calendarserver/push/notifier.py", line 30, in <module> from txdav.common.datastore.sql_tables import schema File "/usr/local/lib/python2.7/site-packages/txdav/common/datastore/sql_tables.py", line 76, in <module> schema = _populateSchema() File "/usr/local/lib/python2.7/site-packages/txdav/common/datastore/sql_tables.py", line 62, in _populateSchema return SchemaSyntax(schemaFromPath(pathObj)) File "/usr/local/lib/python2.7/site-packages/twext/enterprise/dal/parseschema.py", line 102, in schemaFromPath addSQLToSchema(schema, schemaData) File "/usr/local/lib/python2.7/site-packages/twext/enterprise/dal/parseschema.py", line 147, in addSQLToSchema createType = stmt.token_next(1, True).value.upper() AttributeError: 'tuple' object has no attribute 'value'
Axel --- PGP-Key:29E99DD6 ☀ computing @ chaos claudius
_______________________________________________ calendarserver-dev mailing list calendarserver-dev@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/calendarserver-dev
_______________________________________________ calendarserver-dev mailing list calendarserver-dev@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/calendarserver-dev
_______________________________________________ calendarserver-dev mailing list calendarserver-dev@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/calendarserver-dev
I’ve updated Calendar Server to work with sqlparse 0.2.0 (the latest release on github), as well as bumped up the versions of all the other dependencies, including Twisted to 16.6.0.
On Nov 15, 2016, at 9:51 AM, Morgen Sagen <sagen@apple.com> wrote:
FYI I just tried using 0.2.2 with Calendar Server and started adjusting our code to reflect API changes, but now ran into an issue where sometimes a “CREATE TABLE FOO” statement is parsed as a Token and sometimes as a Function. It will take some time for us to get to the bottom of where that inconsistency lies.
On Nov 15, 2016, at 8:47 AM, Morgen Sagen <sagen@apple.com> wrote:
sqlparse had some incompatible API changes since 0.1.19, and we’ll have to update calendar server code to compensate. For now you need to use 0.1.19 sqlparse.
On Nov 12, 2016, at 2:30 PM, Axel Rau <Axel.Rau@Chaos1.DE> wrote:
Hi,
after upgrading to sqlparse-0.2.0 or sqlparse-0.2.2, I get:
Starting caldavd. Traceback (most recent call last): File "/usr/local/bin/twistd", line 11, in <module> load_entry_point('Twisted==16.4.1', 'console_scripts', 'twistd')() File "/usr/local/lib/python2.7/site-packages/twisted/scripts/twistd.py", line 29, in run app.run(runApp, ServerOptions) File "/usr/local/lib/python2.7/site-packages/twisted/application/app.py", line 643, in run config.parseOptions() File "/usr/local/lib/python2.7/site-packages/twisted/application/app.py", line 610, in parseOptions usage.Options.parseOptions(self, options) File "/usr/local/lib/python2.7/site-packages/twisted/python/usage.py", line 262, in parseOptions for (cmd, short, parser, doc) in self.subCommands: File "/usr/local/lib/python2.7/site-packages/twisted/application/app.py", line 627, in subCommands for plug in sorted(plugins, key=attrgetter('tapname')): File "/usr/local/lib/python2.7/site-packages/twisted/plugins/caldav.py", line 29, in getProperty return getattr(reflect.namedClass(self.serviceMakerClass), propname) File "/usr/local/lib/python2.7/site-packages/twisted/python/reflect.py", line 165, in namedObject module = namedModule('.'.join(classSplit[:-1])) File "/usr/local/lib/python2.7/site-packages/twisted/python/reflect.py", line 151, in namedModule topLevel = __import__(name) File "/usr/local/lib/python2.7/site-packages/calendarserver/tap/caldav.py", line 41, in <module> from twistedcaldav.stdconfig import config File "/usr/local/lib/python2.7/site-packages/twistedcaldav/stdconfig.py", line 1854, in <module> config.update() File "/usr/local/lib/python2.7/site-packages/twistedcaldav/config.py", line 262, in update hook(self._data, reloading=reloading) File "/usr/local/lib/python2.7/site-packages/twistedcaldav/stdconfig.py", line 1772, in _updateCompliance from twistedcaldav.serverinfo import buildServerInfo File "/usr/local/lib/python2.7/site-packages/twistedcaldav/serverinfo.py", line 27, in <module> from twistedcaldav.resource import ReadOnlyNoCopyResourceMixIn File "/usr/local/lib/python2.7/site-packages/twistedcaldav/resource.py", line 32, in <module> from calendarserver.push.notifier import getPubSubAPSConfiguration File "/usr/local/lib/python2.7/site-packages/calendarserver/push/notifier.py", line 30, in <module> from txdav.common.datastore.sql_tables import schema File "/usr/local/lib/python2.7/site-packages/txdav/common/datastore/sql_tables.py", line 76, in <module> schema = _populateSchema() File "/usr/local/lib/python2.7/site-packages/txdav/common/datastore/sql_tables.py", line 62, in _populateSchema return SchemaSyntax(schemaFromPath(pathObj)) File "/usr/local/lib/python2.7/site-packages/twext/enterprise/dal/parseschema.py", line 102, in schemaFromPath addSQLToSchema(schema, schemaData) File "/usr/local/lib/python2.7/site-packages/twext/enterprise/dal/parseschema.py", line 147, in addSQLToSchema createType = stmt.token_next(1, True).value.upper() AttributeError: 'tuple' object has no attribute 'value'
Axel --- PGP-Key:29E99DD6 ☀ computing @ chaos claudius
_______________________________________________ calendarserver-dev mailing list calendarserver-dev@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/calendarserver-dev
_______________________________________________ calendarserver-dev mailing list calendarserver-dev@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/calendarserver-dev
_______________________________________________ calendarserver-dev mailing list calendarserver-dev@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/calendarserver-dev
On Dec 6, 2016, at 1:17 PM, Morgen Sagen <sagen@apple.com> wrote:
I’ve updated Calendar Server to work with sqlparse 0.2.0 (the latest release on github), as well as bumped up the versions of all the other dependencies, including Twisted to 16.6.0.
\o/ always nice to see dependencies rolling up to the most recent Twisted :-). -g
participants (3)
-
Axel Rau
-
Glyph Lefkowitz
-
Morgen Sagen