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 -~----------~----~----~----~------~----~------~--~---