You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ibatis.apache.org by "Claudio Martins (JIRA)" <ib...@incubator.apache.org> on 2005/02/17 23:31:48 UTC
[jira] Commented: (IBATIS-76) Problems with Dynamic Queries
[ http://issues.apache.org/jira/browse/IBATIS-76?page=comments#action_59357 ]
Claudio Martins commented on IBATIS-76:
---------------------------------------
This is the debug log:
DEBUG 2005-02-17 21:23:05,627 - com.ibatis.common.jdbc.SimpleDataSource.popConnection(SimpleDataSource.java:579) - [main] - Created connection 3743136.
DEBUG 2005-02-17 21:23:05,747 - com.ibatis.common.jdbc.logging.ConnectionLogProxy.<init>(ConnectionLogProxy.java:42) - [main] - {conn-100000} Connection
DEBUG 2005-02-17 21:23:06,118 - com.ibatis.common.jdbc.logging.PreparedStatementLogProxy.invoke(PreparedStatementLogProxy.java:48) - [main] - {pstm-100001} PreparedStatement: SELECT INFO.ASSINATURA_ID as codigoAssinatura, INFO.STATUS_NUM as statusAssinante, PAG.TIPO_COBRANCA_ID as tipoCobranca, PAG.MEIO_PAGAMENTO_ID as meioPagamento, LOGIN.USERNAME_TXT as usernameAssinante, PAG.DIA_VENC_NUM as diaVencimento, ASSIN.TITULAR_DEPENDENTE_NUM as titularDependente FROM TB_GLB_ISP_INFO_ASSINATURA INFO, TB_GLB_ISP_PAGANTE PAG, TB_GLB_ISP_ASSINANTE ASSIN, TB_GLB_ISP_LOGIN LOGIN WHERE INFO.ASSINATURA_ID = PAG.ASSINATURA_ID AND INFO.ASSINATURA_ID = ASSIN.ASSINATURA_ID AND LOGIN.USUARIO_ID = ASSIN.USUARIO_ID AND ASSIN.TITULAR_DEPENDENTE_NUM = 1 <dynamic> <isGreaterThan prepend="AND" property="diaVencimento" compareValue="0"> PAG.DIA_VENC = ? </isGreaterThan> <isGreaterThan prepend="AND" property="tipoCobranca" compareValue="0"> PAG.TIPO_COBRANCA_ID = ? </isGreaterThan> </dynamic> AND EXISTS (SELECT 1 FROM TB_GLB_ISP_SERVICO_PRESTADO SERV WHERE SERV.ASSINATURA_ID = INFO.ASSINATURA_ID AND SERV.DATA_INICIO_DT < ? AND SERV.STATUS_COBRANCA_ID IN (1, 2)) ORDER BY INFO.ASSINATURA_ID
DEBUG 2005-02-17 21:23:06,118 - com.ibatis.common.jdbc.logging.PreparedStatementLogProxy.invoke(PreparedStatementLogProxy.java:49) - [main] - {pstm-100001} Parameters: [10, 0, 2005-03-01]
DEBUG 2005-02-17 21:23:06,128 - com.ibatis.common.jdbc.logging.PreparedStatementLogProxy.invoke(PreparedStatementLogProxy.java:50) - [main] - {pstm-100001} Types: [java.lang.Integer, java.lang.Integer, java.sql.Date]
DEBUG 2005-02-17 21:23:06,198 - com.ibatis.common.jdbc.SimpleDataSource.pushConnection(SimpleDataSource.java:527) - [main] - Returned connection 3743136 to pool.
> Problems with Dynamic Queries
> -----------------------------
>
> Key: IBATIS-76
> URL: http://issues.apache.org/jira/browse/IBATIS-76
> Project: iBatis for Java
> Type: Bug
> Components: SQL Maps
> Versions: 2.0.9
> Environment: JRE 1.4.2
> Reporter: Claudio Martins
>
> I have a dynamic query on my SqlMap xml file. When I try to execute it, I receive a SQLException with the message :
> --- The error occurred in com/globo/billing/conf/sql/SqlMapping-Cobranca.xml.
> --- The error occurred while applying a parameter map.
> --- Check the select-emissao-recorrente-InlineParameterMap.
> --- Check the statement (query failed).
> --- Cause: java.sql.SQLException: ORA-00933: SQL command not properly ended
> But when I remove the <dynamic> block, the SQL runs perfectly. Can anybody help me?
> <statement id="select-emissao-recorrente"
> parameterClass="com.globo.billing.core.daos.EmissaoRecorrenteDAO"
> resultClass="com.globo.billing.core.daos.EmissaoRecorrenteDAO"
> cacheModel="cache-Cobranca">
> <![CDATA[
> SELECT
> INFO.ASSINATURA_ID as codigoAssinatura,
> INFO.STATUS_NUM as statusAssinante,
> PAG.TIPO_COBRANCA_ID as tipoCobranca,
> PAG.MEIO_PAGAMENTO_ID as meioPagamento,
> LOGIN.USERNAME_TXT as usernameAssinante,
> PAG.DIA_VENC_NUM as diaVencimento,
> ASSIN.TITULAR_DEPENDENTE_NUM as titularDependente
> FROM
> TB_GLB_ISP_INFO_ASSINATURA INFO,
> TB_GLB_ISP_PAGANTE PAG,
> TB_GLB_ISP_ASSINANTE ASSIN,
> TB_GLB_ISP_LOGIN LOGIN
> WHERE
> INFO.ASSINATURA_ID = PAG.ASSINATURA_ID
> AND INFO.ASSINATURA_ID = ASSIN.ASSINATURA_ID
> AND LOGIN.USUARIO_ID = ASSIN.USUARIO_ID
> AND ASSIN.TITULAR_DEPENDENTE_NUM = 1
> <dynamic>
> <isGreaterThan prepend="AND" property="diaVencimento" compareValue="0">
> PAG.DIA_VENC = #diaVencimento#
> </isGreaterThan>
> <isGreaterThan prepend="AND" property="tipoCobranca" compareValue="0">
> PAG.TIPO_COBRANCA_ID = #tipoCobranca#
> </isGreaterThan>
> </dynamic>
> AND EXISTS (SELECT 1
> FROM TB_GLB_ISP_SERVICO_PRESTADO SERV
> WHERE
> SERV.ASSINATURA_ID = INFO.ASSINATURA_ID
> AND SERV.DATA_INICIO_DT < #dataTerminoCompetencia:DATE#
> AND SERV.STATUS_COBRANCA_ID IN (1, 2))
> ORDER BY
> INFO.ASSINATURA_ID
> ]]>
> </statement>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira