performing this query I get the subsequent traceback error: In [24]: res = ora(multe_join).select(limitby=(0,5)) --------------------------------------------------------------------------- DatabaseError Traceback (most recent call last) /home/manuele/web2py.trunk/applications/theseus2/models/dashboard/dashboard.py in <module>() ----> 1 res = ora(multe_join).select(limitby=(0,5))
/home/manuele/web2py.trunk/gluon/dal/objects.pyc in select(self, *fields, **attributes) 2062 attributes.get('groupby',None)) 2063 fields = adapter.expand_all(fields, tablenames) -> 2064 return adapter.select(self.query,fields,attributes) 2065 2066 def nested_select(self,*fields,**attributes): /home/manuele/web2py.trunk/gluon/dal/adapters/base.pyc in select(self, query, fields, attributes) 1229 time_expire) 1230 else: -> 1231 return self._select_aux(sql,fields,attributes) 1232 1233 def _count(self, query, distinct=None): /home/manuele/web2py.trunk/gluon/dal/adapters/base.pyc in _select_aux(self, sql, fields, attributes) 1194 cache = args_get('cache',None) 1195 if not cache: -> 1196 self.execute(sql) 1197 rows = self._fetchall() 1198 else: /home/manuele/web2py.trunk/gluon/dal/adapters/oracle.pyc in execute(self, command, args) 134 if command[-1:]==';': 135 command = command[:-1] --> 136 return self.log_execute(command, args) 137 138 def create_sequence_and_triggers(self, query, table, **args): /home/manuele/web2py.trunk/gluon/dal/adapters/base.pyc in log_execute(self, *a, **b) 1310 self.db._lastsql = command 1311 t0 = time.time() -> 1312 ret = self.cursor.execute(command, *a[1:], **b) 1313 self.db._timings.append((command,time.time()-t0)) 1314 del self.db._timings[:-TIMINGSSIZE] DatabaseError: ORA-00918: column ambiguously defined the raw query written from the driver looks like this: In [26]: ora(multe_join)._select(limitby=(0,5)) Out[26]: 'SELECT quartiere.id, quartiere.cod, quartiere.odonimo, municipio.id, municipio.cod, municipio.roman_cod, municipio.odonimo, strada.id, strada.cod, strada.odonimo, strada.quartiere, strada.municipio, multe.id, multe.NUMERO_REGISTRAZIONE, multe.NUMERO_AVVISO, multe.TIPO, multe.DATA_ACCERTAMENTO, multe.MATRICOLA, multe.MATRICOLA_2, multe.CODICE_VIA, multe.TIPOST1, multe.CODICE_VIA2, multe.NUMERO_CIVICO, multe.TARGA, multe.IMPORTO_TOTALE, multe.SEZIONE, multe.NUMERO_PATENTE, multe.TIPO_DOCUMENTO, multe.DATA_PATENTE, multe.CATEGORIA_PATENTE, multe.RILASCIATA_DA, multe.NOME, multe.COGNOME, multe.DATA_NASCITA, multe.LUOGO_NASCITA, multe.PROV_NASCITA, multe.LUOGO_RESIDENZA, multe.PROV_RESIDENZA, multe.CAP_RESIDENZA, multe.INDIRIZZO_RESIDENZA, multe.NUMERO_CIVICO_RESIDENZA, multe.SOCIETA_O_PERSONA, multe.CODICE_FISCALE_PI, multe.NOTE, multe.SESSO, multe.ARTICOLO, multe.COMMA, multe.DESCRIZIONE_VIOLAZIONE FROM (SELECT w_tmp.*, ROWNUM w_row FROM (SELECT quartiere.id, quartiere.cod, quartiere.odonimo, municipio.id, municipio.cod, municipio.roman_cod, municipio.odonimo, strada.id, strada.cod, strada.odonimo, strada.quartiere, strada.municipio, multe.id, multe.NUMERO_REGISTRAZIONE, multe.NUMERO_AVVISO, multe.TIPO, multe.DATA_ACCERTAMENTO, multe.MATRICOLA, multe.MATRICOLA_2, multe.CODICE_VIA, multe.TIPOST1, multe.CODICE_VIA2, multe.NUMERO_CIVICO, multe.TARGA, multe.IMPORTO_TOTALE, multe.SEZIONE, multe.NUMERO_PATENTE, multe.TIPO_DOCUMENTO, multe.DATA_PATENTE, multe.CATEGORIA_PATENTE, multe.RILASCIATA_DA, multe.NOME, multe.COGNOME, multe.DATA_NASCITA, multe.LUOGO_NASCITA, multe.PROV_NASCITA, multe.LUOGO_RESIDENZA, multe.PROV_RESIDENZA, multe.CAP_RESIDENZA, multe.INDIRIZZO_RESIDENZA, multe.NUMERO_CIVICO_RESIDENZA, multe.SOCIETA_O_PERSONA, multe.CODICE_FISCALE_PI, multe.NOTE, multe.SESSO, multe.ARTICOLO, multe.COMMA, multe.DESCRIZIONE_VIOLAZIONE FROM quartiere, municipio, strada, multe WHERE (((strada.cod = multe.CODICE_VIA) AND (strada.quartiere = quartiere.id)) AND (strada.municipio = municipio.id)) ORDER BY quartiere.id, municipio.id, strada.id, multe.id) w_tmp WHERE ROWNUM<=5) quartiere, municipio, strada, multe WHERE (((strada.cod = multe.CODICE_VIA) AND (strada.quartiere = quartiere.id)) AND (strada.municipio = municipio.id)) AND w_row > 0 ORDER BY quartiere.id, municipio.id, strada.id, multe.id;' the problem seams in the limitby attributes because without it no error is raised... In [28]: ora(multe_join).select() Out[28]: <Rows (42547)> here you can see the raw query again without the limitby: In [27]: ora(multe_join)._select() Out[27]: 'SELECT quartiere.id, quartiere.cod, quartiere.odonimo, municipio.id, municipio.cod, municipio.roman_cod, municipio.odonimo, strada.id, strada.cod, strada.odonimo, strada.quartiere, strada.municipio, multe.id, multe.NUMERO_REGISTRAZIONE, multe.NUMERO_AVVISO, multe.TIPO, multe.DATA_ACCERTAMENTO, multe.MATRICOLA, multe.MATRICOLA_2, multe.CODICE_VIA, multe.TIPOST1, multe.CODICE_VIA2, multe.NUMERO_CIVICO, multe.TARGA, multe.IMPORTO_TOTALE, multe.SEZIONE, multe.NUMERO_PATENTE, multe.TIPO_DOCUMENTO, multe.DATA_PATENTE, multe.CATEGORIA_PATENTE, multe.RILASCIATA_DA, multe.NOME, multe.COGNOME, multe.DATA_NASCITA, multe.LUOGO_NASCITA, multe.PROV_NASCITA, multe.LUOGO_RESIDENZA, multe.PROV_RESIDENZA, multe.CAP_RESIDENZA, multe.INDIRIZZO_RESIDENZA, multe.NUMERO_CIVICO_RESIDENZA, multe.SOCIETA_O_PERSONA, multe.CODICE_FISCALE_PI, multe.NOTE, multe.SESSO, multe.ARTICOLO, multe.COMMA, multe.DESCRIZIONE_VIOLAZIONE FROM quartiere, municipio, strada, multe WHERE (((strada.cod = multe.CODICE_VIA) AND (strada.quartiere = quartiere.id)) AND (strada.municipio = municipio.id));' -- Resources: - http://web2py.com - http://web2py.com/book (Documentation) - http://github.com/web2py/web2py (Source code) - https://code.google.com/p/web2py/issues/list (Report Issues) --- You received this message because you are subscribed to the Google Groups "web2py-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to web2py+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.