Argument problem with left join

72 views
Skip to first unread message

Fabiano Faver

unread,
Mar 26, 2019, 2:09:00 PM3/26/19
to web2py-users
I'm trying to move an app from a old version of web2py (2.14) to latest version. After updating some code i'm stuck on the error below. 

If i remove the left join the query works. And I dont find anything about changes on 'left' syntax.

Someone knows whats wrong?

<type 'exceptions.TypeError'> left_join() takes exactly 2 arguments (3 given)


Traceback

1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Traceback (most recent call last):
File "C:\Users\fiscal\Desktop\web2py\gluon\restricted.py", line 219, in restricted
exec(ccode, environment)
File "C:\Users\fiscal\Desktop\web2py\applications\manager\controllers/atendimento.py", line 3014, in <module>
File "C:\Users\fiscal\Desktop\web2py\gluon\globals.py", line 421, in <lambda>
self._caller = lambda f: f()
File "C:\Users\fiscal\Desktop\web2py\gluon\tools.py", line 3868, in f
return action(*a, **b)
File "C:\Users\fiscal\Desktop\web2py\applications\manager\controllers/atendimento.py", line 100, in dashboardInicial
orderby=~dbOracle.OSC.chave
File "C:\Users\fiscal\Desktop\web2py\gluon\packages\dal\pydal\objects.py", line 2378, in select
return adapter.select(self.query, fields, attributes)
File "C:\Users\fiscal\Desktop\web2py\gluon\packages\dal\pydal\adapters\base.py", line 758, in select
colnames, sql = self._select_wcols(query, fields, **attributes)
File "C:\Users\fiscal\Desktop\web2py\gluon\packages\dal\pydal\adapters\base.py", line 651, in _select_wcols
tokens += [self.dialect.left_join(t, query_env) for t in join_on]
TypeError: left_join() takes exactly 2 arguments (3 given)

Query:

resultado= dbOracle(query
                        &(dbOracle.OSC.chave_cliente == dbOracle.clientes.codcli) &(dbOracle.OSC.chave_tecnico == dbOracle.tecnicos.chave)
                        &(dbOracle.OSC.chave_tag == dbOracle.tag.chave) &(dbOracle.tag.chave_produto==dbOracle.produtos.cprod)
                        &(dbOracle.tipos_chamados.chave == dbOracle.OSC.chave_tipo_chamado)
                        ).select(dbOracle.OSC.chave, dbOracle.OSC.data_emissao,  dbOracle.tag.numero_serie , dbOracle.tag.chave,
                                dbOracle.clientes.nome, dbOracle.clientes.codcli, dbOracle.OSC.sla,  dbOracle.OSC.previsao_atendimento , dbOracle.OSC.time_abertura ,dbOracle.OSC.time_atendimento ,

                                [MANY OTHER FIELDS],

                                left=  [dbOracle.pedidos_contratos.on(dbOracle.OSC.chave_contrato==dbOracle.pedidos_contratos.chave), dbOracle.tecnicos_zonas.on(dbOracle.OSC.chave_tecnico==dbOracle.tecnicos_zonas.chave_tecnico), dbOracle.territorios.on(dbOracle.tecnicos_zonas.chave_territorio==dbOracle.territorios.chave)],
                                orderby=~dbOracle.OSC.chave
                        )

Fabiano Faver

unread,
Oct 28, 2019, 9:58:46 AM10/28/19
to web2py-users
Anyone can help with this?

Trying to update web2py again but still having this same problem. Any left join in this oracle db get this type of error.

Константин Комков

unread,
Oct 30, 2019, 4:17:26 PM10/30/19
to web2py-users
You have difficult query. Try write simple query and do it more difficult step by step. Try left join for two tables. Is it work? Use dbOracle._lastsql for see sql code.
Reply all
Reply to author
Forward
0 new messages