[
https://issues.apache.org/jira/browse/DERBY-4753?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12891096#action_12891096
]
Knut Anders Hatlen commented on DERBY-4753:
-------------------------------------------
This is most likely going to work with the latest 10.7 development sources
because FALSE is now accepted also in non-internal SQL, and the failing call to
checkInternalFeature() from SQLParser.literal() has been removed. But,
regardless of that, it looks like we have a bug that makes the compiler context
lose the knowledge about it being an internal statement. Too bad we don't have
a reliable repro for it.
> "ERROR 42X01: Syntax error: FALSE." during call to
> java.sql.DatabaseMetaData.getIndexInfo
> -----------------------------------------------------------------------------------------
>
> Key: DERBY-4753
> URL: https://issues.apache.org/jira/browse/DERBY-4753
> Project: Derby
> Issue Type: Bug
> Components: JDBC
> Affects Versions: 10.5.3.0
> Environment: Linux
> Reporter: Craig Chaney
>
> We are seeing the failure below occasionally. It does not happen every time
> ... with the exact same database and call sequence it will happen about 1 out
> of 3 times.
> The parameters on the getIndexInfo call are
> connection.getMetaData().getIndexInfo(null, schemaName, tableName, false,
> false);
> schemaName and tableName are valid and definitely not null.
> Caused by:
> java.sql.SQLException: Syntax error: FALSE.
> at
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
> at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown
> Source)
> at
> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown
> Source)
> at
> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown
> Source)
> at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown
> Source)
> at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown
> Source)
> at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown
> Source)
> at
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown
> Source)
> at
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeQuery(Unknown Source)
> at
> org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.doGetIndexInfo(Unknown
> Source)
> at
> org.apache.derby.impl.jdbc.EmbedDatabaseMetaData.getIndexInfo(Unknown Source)
> at
> com.ibm.team.repository.service.db.provider.AbstractDbProvider.getIndexMetadata(AbstractDbProvider.java:381)
> at
> com.ibm.team.repository.service.db.provider.AbstractDbProvider.doesIndexExist(AbstractDbProvider.java:343)
> ... 61 more
> Caused by:
> ERROR 42X01: Syntax error: FALSE.
> at org.apache.derby.iapi.error.StandardException.newException(Unknown
> Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.checkInternalFeature(Unknown
> Source)
> at org.apache.derby.impl.sql.compile.SQLParser.literal(Unknown Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.valueSpecification(Unknown Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.valueExpressionPrimary(Unknown
> Source)
> at org.apache.derby.impl.sql.compile.SQLParser.primary(Unknown Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.primaryExpressionXX(Unknown
> Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.primaryExpression(Unknown Source)
> at org.apache.derby.impl.sql.compile.SQLParser.unaryExpression(Unknown
> Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.multiplicativeExpression(Unknown
> Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.additiveExpression(Unknown Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.thenElseExpression(Unknown Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.whenThenExpression(Unknown Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.valueSpecification(Unknown Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.valueExpressionPrimary(Unknown
> Source)
> at org.apache.derby.impl.sql.compile.SQLParser.primary(Unknown Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.primaryExpressionXX(Unknown
> Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.primaryExpression(Unknown Source)
> at org.apache.derby.impl.sql.compile.SQLParser.unaryExpression(Unknown
> Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.multiplicativeExpression(Unknown
> Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.additiveExpression(Unknown Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.valueExpressionPrimary(Unknown
> Source)
> at org.apache.derby.impl.sql.compile.SQLParser.primary(Unknown Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.primaryExpressionXX(Unknown
> Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.primaryExpression(Unknown Source)
> at org.apache.derby.impl.sql.compile.SQLParser.unaryExpression(Unknown
> Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.multiplicativeExpression(Unknown
> Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.additiveExpression(Unknown Source)
> at org.apache.derby.impl.sql.compile.SQLParser.derivedColumn(Unknown
> Source)
> at org.apache.derby.impl.sql.compile.SQLParser.selectSublist(Unknown
> Source)
> at org.apache.derby.impl.sql.compile.SQLParser.selectColumnList(Unknown
> Source)
> at org.apache.derby.impl.sql.compile.SQLParser.selectList(Unknown
> Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.querySpecification(Unknown Source)
> at org.apache.derby.impl.sql.compile.SQLParser.simpleTable(Unknown
> Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.nonJoinQueryPrimary(Unknown
> Source)
> at org.apache.derby.impl.sql.compile.SQLParser.nonJoinQueryTerm(Unknown
> Source)
> at org.apache.derby.impl.sql.compile.SQLParser.queryExpression(Unknown
> Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.preparableSelectStatement(Unknown
> Source)
> at
> org.apache.derby.impl.sql.compile.SQLParser.preparableSQLDataStatement(Unknown
> Source)
> at org.apache.derby.impl.sql.compile.SQLParser.StatementPart(Unknown
> Source)
> at org.apache.derby.impl.sql.compile.SQLParser.Statement(Unknown Source)
> at org.apache.derby.impl.sql.compile.ParserImpl.parseStatement(Unknown
> Source)
> at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source)
> at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source)
> at org.apache.derby.impl.sql.GenericPreparedStatement.rePrepare(Unknown
> Source)
> at
> org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
> at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown
> Source)
> ... 68 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.