Re: [sqlalchemy] Bug in mssql dialect?
You are right. Thanks once again. On Mar 3, 2011, at 11:11, Michael Bayer wrote: > That looks certainly like a misconfigured relationship(). Not sure why > SQLite would let it pass through (sqlite is in general extremely liberal), > but that's clearly a literal string passed to a join expression sent to > relationship as in relationship(... primaryjoin=and_(some expression, > "Edge._discriminator=='use'")) or something like that. When using strings > for relationship(), the full expression must be a string, not the components. > > > > On Mar 3, 2011, at 10:55 AM, Michael Naber wrote: > >> Last line is invalid t-sql. The ‘==’ should just be ‘=’. I get the problem >> when using mssql but not with sqlite. Saw the bug on sqa version 0.6.6, >> upgraded to 0.7b2 and still having issue. Please let me know if you need >> more info and I'll be happy to provide. >> >> Thanks, >> Michael >> >> >> Traceback (most recent call last): >> File "C:\Program Files\eclipse-SDK-3.6.2-win32\eclipse\dropins\Pydev >> 1.6.5\plugins\org.python.pydev.debug_1.6.5.2011020317\pysrc\pydevd.py", line >> 1133, in >> debugger.run(setup['file'], None, None) >> File "C:\Program Files\eclipse-SDK-3.6.2-win32\eclipse\dropins\Pydev >> 1.6.5\plugins\org.python.pydev.debug_1.6.5.2011020317\pysrc\pydevd.py", line >> 918, in run >> execfile(file, globals, locals) #execute the script >> File "C:\OpsPylonDev\TransformationBA-Trunk\pydev-setup-app.py", line 5, >> in >> SetupCommand('setup-app').run(['development.ini']) >> File >> "C:\Python27\lib\site-packages\pastescript-1.7.3-py2.7.egg\paste\script\appinstall.py", >> line 68, in run >> return super(AbstractInstallCommand, self).run(new_args) >> File >> "C:\Python27\lib\site-packages\pastescript-1.7.3-py2.7.egg\paste\script\command.py", >> line 218, in run >> result = self.command() >> File >> "C:\Python27\lib\site-packages\pastescript-1.7.3-py2.7.egg\paste\script\appinstall.py", >> line 456, in command >> self, config_file, section, self.sysconfig_install_vars(installer)) >> File >> "C:\Python27\lib\site-packages\pastescript-1.7.3-py2.7.egg\paste\script\appinstall.py", >> line 598, in setup_config >> mod.setup_app, command, filename, section, vars) >> File >> "C:\Python27\lib\site-packages\pastescript-1.7.3-py2.7.egg\paste\script\appinstall.py", >> line 612, in _call_setup_app >> func(command, conf, vars) >> File "C:\OpsPylonDev\TransformationBA-Trunk\transformationba\websetup.py", >> line 34, in setup_app >> insert_data() >> File >> "C:\OpsPylonDev\TransformationBA-Trunk\transformationba\model\data\__init__.py", >> line 42, in insert_data >> inserter.insert() >> File "transformationba\model\data\inserters\400technology.py", line 23, in >> insert >> csharp_app.create_artifacts() >> File >> "C:\OpsPylonDev\TransformationBA-Trunk\transformationba\model\data\technology_data\csharp_app.py", >> line 65, in create_artifacts >> parent.uses.append(component) >> File >> "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\ext\associationproxy.py", >> line 189, in __get__ >> proxy = self._new(_lazy_collection(obj, self.target_collection)) >> File >> "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\ext\associationproxy.py", >> line 233, in _new >> self.collection_class = util.duck_type_collection(lazy_collection()) >> File >> "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\ext\associationproxy.py", >> line 335, in __call__ >> return getattr(obj, self.target) >> File >> "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\orm\attributes.py", >> line 162, in __get__ >> return self.impl.get(instance_state(instance),dict_) >> File >> "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\orm\attributes.py", >> line 414, in get >> value = self.callable_(state, passive) >> File >> "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\orm\strategies.py", >> line 542, in _load_for_state >> result = q.all() >> File >> "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\orm\query.py", >> line 1636, in all >> return list(self) >> File >> "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\orm\query.py", >> line 1746, in __iter__ >> return self._execute_and_instances(context) >> File >> "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\orm\query.py", >> line 1752, in _execute_and_instances >> close_with_result=True).execute(querycontext.statement, self._params) >> File >> "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\engine\base.py", >> line 1259, in execute >> params) >> File >> "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\engine\base.py", >> line 1392, in _execute_clauseelement >> compiled_sql, distilled_params >>
Re: [sqlalchemy] Bug in mssql dialect?
That looks certainly like a misconfigured relationship(). Not sure why SQLite would let it pass through (sqlite is in general extremely liberal), but that's clearly a literal string passed to a join expression sent to relationship as in relationship(... primaryjoin=and_(some expression, "Edge._discriminator=='use'")) or something like that. When using strings for relationship(), the full expression must be a string, not the components. On Mar 3, 2011, at 10:55 AM, Michael Naber wrote: > Last line is invalid t-sql. The ‘==’ should just be ‘=’. I get the problem > when using mssql but not with sqlite. Saw the bug on sqa version 0.6.6, > upgraded to 0.7b2 and still having issue. Please let me know if you need more > info and I'll be happy to provide. > > Thanks, > Michael > > > Traceback (most recent call last): > File "C:\Program Files\eclipse-SDK-3.6.2-win32\eclipse\dropins\Pydev > 1.6.5\plugins\org.python.pydev.debug_1.6.5.2011020317\pysrc\pydevd.py", line > 1133, in > debugger.run(setup['file'], None, None) > File "C:\Program Files\eclipse-SDK-3.6.2-win32\eclipse\dropins\Pydev > 1.6.5\plugins\org.python.pydev.debug_1.6.5.2011020317\pysrc\pydevd.py", line > 918, in run > execfile(file, globals, locals) #execute the script > File "C:\OpsPylonDev\TransformationBA-Trunk\pydev-setup-app.py", line 5, in > > SetupCommand('setup-app').run(['development.ini']) > File > "C:\Python27\lib\site-packages\pastescript-1.7.3-py2.7.egg\paste\script\appinstall.py", > line 68, in run > return super(AbstractInstallCommand, self).run(new_args) > File > "C:\Python27\lib\site-packages\pastescript-1.7.3-py2.7.egg\paste\script\command.py", > line 218, in run > result = self.command() > File > "C:\Python27\lib\site-packages\pastescript-1.7.3-py2.7.egg\paste\script\appinstall.py", > line 456, in command > self, config_file, section, self.sysconfig_install_vars(installer)) > File > "C:\Python27\lib\site-packages\pastescript-1.7.3-py2.7.egg\paste\script\appinstall.py", > line 598, in setup_config > mod.setup_app, command, filename, section, vars) > File > "C:\Python27\lib\site-packages\pastescript-1.7.3-py2.7.egg\paste\script\appinstall.py", > line 612, in _call_setup_app > func(command, conf, vars) > File "C:\OpsPylonDev\TransformationBA-Trunk\transformationba\websetup.py", > line 34, in setup_app > insert_data() > File > "C:\OpsPylonDev\TransformationBA-Trunk\transformationba\model\data\__init__.py", > line 42, in insert_data > inserter.insert() > File "transformationba\model\data\inserters\400technology.py", line 23, in > insert > csharp_app.create_artifacts() > File > "C:\OpsPylonDev\TransformationBA-Trunk\transformationba\model\data\technology_data\csharp_app.py", > line 65, in create_artifacts > parent.uses.append(component) > File > "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\ext\associationproxy.py", > line 189, in __get__ > proxy = self._new(_lazy_collection(obj, self.target_collection)) > File > "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\ext\associationproxy.py", > line 233, in _new > self.collection_class = util.duck_type_collection(lazy_collection()) > File > "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\ext\associationproxy.py", > line 335, in __call__ > return getattr(obj, self.target) > File > "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\orm\attributes.py", > line 162, in __get__ > return self.impl.get(instance_state(instance),dict_) > File > "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\orm\attributes.py", > line 414, in get > value = self.callable_(state, passive) > File > "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\orm\strategies.py", > line 542, in _load_for_state > result = q.all() > File > "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\orm\query.py", > line 1636, in all > return list(self) > File > "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\orm\query.py", > line 1746, in __iter__ > return self._execute_and_instances(context) > File > "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\orm\query.py", > line 1752, in _execute_and_instances > close_with_result=True).execute(querycontext.statement, self._params) > File > "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\engine\base.py", > line 1259, in execute > params) > File > "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\engine\base.py", > line 1392, in _execute_clauseelement > compiled_sql, distilled_params > File > "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\engine\base.py", > line 1500, in _execute_context > context) > File > "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py
[sqlalchemy] Bug in mssql dialect?
Last line is invalid t-sql. The ‘==’ should just be ‘=’. I get the problem when using mssql but not with sqlite. Saw the bug on sqa version 0.6.6, upgraded to 0.7b2 and still having issue. Please let me know if you need more info and I'll be happy to provide. Thanks, Michael Traceback (most recent call last): File "C:\Program Files\eclipse-SDK-3.6.2-win32\eclipse\dropins\Pydev 1.6.5\plugins\org.python.pydev.debug_1.6.5.2011020317\pysrc\pydevd.py", line 1133, in debugger.run(setup['file'], None, None) File "C:\Program Files\eclipse-SDK-3.6.2-win32\eclipse\dropins\Pydev 1.6.5\plugins\org.python.pydev.debug_1.6.5.2011020317\pysrc\pydevd.py", line 918, in run execfile(file, globals, locals) #execute the script File "C:\OpsPylonDev\TransformationBA-Trunk\pydev-setup-app.py", line 5, in SetupCommand('setup-app').run(['development.ini']) File "C:\Python27\lib\site-packages\pastescript-1.7.3-py2.7.egg\paste\script\appinstall.py", line 68, in run return super(AbstractInstallCommand, self).run(new_args) File "C:\Python27\lib\site-packages\pastescript-1.7.3-py2.7.egg\paste\script\command.py", line 218, in run result = self.command() File "C:\Python27\lib\site-packages\pastescript-1.7.3-py2.7.egg\paste\script\appinstall.py", line 456, in command self, config_file, section, self.sysconfig_install_vars(installer)) File "C:\Python27\lib\site-packages\pastescript-1.7.3-py2.7.egg\paste\script\appinstall.py", line 598, in setup_config mod.setup_app, command, filename, section, vars) File "C:\Python27\lib\site-packages\pastescript-1.7.3-py2.7.egg\paste\script\appinstall.py", line 612, in _call_setup_app func(command, conf, vars) File "C:\OpsPylonDev\TransformationBA-Trunk\transformationba\websetup.py", line 34, in setup_app insert_data() File "C:\OpsPylonDev\TransformationBA-Trunk\transformationba\model\data\__init__.py", line 42, in insert_data inserter.insert() File "transformationba\model\data\inserters\400technology.py", line 23, in insert csharp_app.create_artifacts() File "C:\OpsPylonDev\TransformationBA-Trunk\transformationba\model\data\technology_data\csharp_app.py", line 65, in create_artifacts parent.uses.append(component) File "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\ext\associationproxy.py", line 189, in __get__ proxy = self._new(_lazy_collection(obj, self.target_collection)) File "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\ext\associationproxy.py", line 233, in _new self.collection_class = util.duck_type_collection(lazy_collection()) File "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\ext\associationproxy.py", line 335, in __call__ return getattr(obj, self.target) File "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\orm\attributes.py", line 162, in __get__ return self.impl.get(instance_state(instance),dict_) File "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\orm\attributes.py", line 414, in get value = self.callable_(state, passive) File "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\orm\strategies.py", line 542, in _load_for_state result = q.all() File "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\orm\query.py", line 1636, in all return list(self) File "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\orm\query.py", line 1746, in __iter__ return self._execute_and_instances(context) File "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\orm\query.py", line 1752, in _execute_and_instances close_with_result=True).execute(querycontext.statement, self._params) File "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\engine\base.py", line 1259, in execute params) File "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\engine\base.py", line 1392, in _execute_clauseelement compiled_sql, distilled_params File "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\engine\base.py", line 1500, in _execute_context context) File "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\engine\base.py", line 1493, in _execute_context context) File "C:\Python27\lib\site-packages\sqlalchemy-0.7b2-py2.7.egg\sqlalchemy\engine\default.py", line 325, in do_execute cursor.execute(statement, parameters) sqlalchemy.exc.ProgrammingError: (ProgrammingError) ('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near '='. (102) (SQLExecDirectW); [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Statement(s) could not be prepared. (8180)") u"SELECT edge.id AS edge_id, edge.tail_node_id AS edge_tail_node_id, edge.head_node_id AS edge_head_node_id, edge._discriminator AS edge__discriminator \nFROM edge \nWHERE edge.tail_node_id = ? AND Edge._discriminator=='use'" (69,) -- You received this m