Did you call something like select([literal('foo')]) ?    If you use  
straight Python literals in the columns clause (i.e. select(['foo'])),  
they will be rendered directly, which is probably what you want here.

This is fixed in r4933 / r4934 0.5 trunk/ 0.4 branch.


On Jul 15, 2008, at 10:52 AM, Stefano Bartaletti wrote:

>
> I recently installed 0.4.6 to check the news, and with horror I saw  
> this dump:
>
> Traceback (most recent call last):
>  File "/media/userdata/stefano/Documenti/projects/Tosi/erp/ 
> login.py", line 85, in onCheckUtente
>    self.checkUtente(self.inputUser.GetValue().lower())
>  File "/media/userdata/stefano/Documenti/projects/Tosi/erp/ 
> login.py", line 64, in checkUtente
>    user = mapperFunctions.getUtente(user)
>  File "/media/userdata/stefano/Documenti/projects/Tosi/erp/dyemagic2/ 
> mapperFunctions.py", line 19, in getUtente
>    rep = mappers.Reparto.query.first() #Per inizializzare la sessione
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/orm/scoping.py", line 144, in __getattr__
>    return getattr(self.context.registry().query(class_), key)
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/orm/session.py", line 895, in query
>    return self._query_cls(entities, self, **kwargs)
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/orm/query.py", line 97, in __init__
>    self.__setup_aliasizers(self._entities)
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/orm/query.py", line 111, in __setup_aliasizers
>    mapper, selectable, is_aliased_class = _entity_info(entity,  
> ent.entity_name)
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/orm/util.py", line 398, in _entity_info
>    mapper = class_mapper(entity, entity_name, compile)
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/orm/util.py", line 488, in class_mapper
>    mapper = mapper.compile()
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/orm/mapper.py", line 368, in compile
>    mapper.__initialize_properties()
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/orm/mapper.py", line 389, in  
> __initialize_properties
>    prop.init(key, self)
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/orm/interfaces.py", line 378, in init
>    self.do_init()
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/orm/properties.py", line 514, in do_init
>    self._post_init()
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/orm/properties.py", line 750, in _post_init
>    super(PropertyLoader, self).do_init()
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/orm/interfaces.py", line 548, in do_init
>    self.strategy = self.__init_strategy(self.strategy_class)
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/orm/interfaces.py", line 537, in __init_strategy
>    strategy.init()
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/orm/strategies.py", line 339, in init
>    self.logger.info("%s lazy loading clause %s" % (self,  
> self.__lazywhere))
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/sql/expression.py", line 1155, in __str__
>    return unicode(self.compile()).encode('ascii', 'backslashreplace')
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/sql/expression.py", line 1151, in compile
>    compiler.compile()
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/sql/compiler.py", line 175, in compile
>    self.string = self.process(self.statement)
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/sql/compiler.py", line 183, in process
>    return meth(obj, **kwargs)
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/sql/compiler.py", line 377, in visit_binary
>    return self.process(binary.left) + " " + op + " " +  
> self.process(binary.right)
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/sql/compiler.py", line 183, in process
>    return meth(obj, **kwargs)
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/sql/compiler.py", line 227, in visit_grouping
>    return "(" + self.process(grouping.element) + ")"
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/sql/compiler.py", line 183, in process
>    return meth(obj, **kwargs)
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/sql/compiler.py", line 507, in visit_select
>    for co in select.inner_columns
>  File "/usr/lib/python2.5/site-packages/SQLAlchemy-0.5.0beta2- 
> py2.5.egg/sqlalchemy/sql/compiler.py", line 463, in  
> label_select_column
>    return column.label(column.anon_label)
> AttributeError: '_BindParamClause' object has no attribute  
> 'anon_label'
>
> After some helpless googling for version upgrade errors, I read the  
> code and I added _BindParamClause in function label_select_column:
>       elif not isinstance(column, (sql._UnaryExpression,  
> sql._TextClause)) and (not hasattr(column, 'name') or  
> isinstance(column, sql._Function)):
> changed to:
>       elif not isinstance(column, (sql._UnaryExpression, sql._TextClause,  
> sql._BindParamClause)) and (not hasattr(column, 'name') or  
> isinstance(column, sql._Function)):
>
> works fine after this change (I can imagine what I did but just  
> imagine heh)
>
> -- 
> Cordialmente
>
> Stefano Bartaletti
> Responsabile Software
>
> G.Tosi Spa Tintoria
>
> Skype account: stefano.bartaletti
> ICQ contact  : 1271960
>
> Viale dell'Industria 61
> 21052 Busto Arsizio (VA)
>
> Tel. +39 0331 34 48 11
> Fax  +39 0331 35 21 23
>
> -------------------------------------------------------------------------------------
> Prima di stampare questo messaggio, assicuratevi che sia VERAMENTE  
> necessario.
>
> Il futuro dell'ambiente (e quindi il nostro) e' nelle mani (e nella  
> testa) di tutti!
>
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to