Re: [sqlalchemy] Bug in mssql dialect?

2011-03-04 Thread Michael Naber
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?

2011-03-03 Thread Michael Bayer
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?

2011-03-03 Thread Michael Naber
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