[CalendarServer-dev] sqlparse > 0.1.16 breaks calendar server

Glyph Lefkowitz glyph at twistedmatrix.com
Tue Nov 15 16:13:17 PST 2016


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 at 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 at 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 at 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 at lists.macosforge.org
>>> https://lists.macosforge.org/mailman/listinfo/calendarserver-dev
>> 
>> _______________________________________________
>> calendarserver-dev mailing list
>> calendarserver-dev at lists.macosforge.org
>> https://lists.macosforge.org/mailman/listinfo/calendarserver-dev
> 
> _______________________________________________
> calendarserver-dev mailing list
> calendarserver-dev at lists.macosforge.org
> https://lists.macosforge.org/mailman/listinfo/calendarserver-dev



More information about the calendarserver-dev mailing list