You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Craig Chaney (JIRA)" <ji...@apache.org> on 2010/07/22 11:53:51 UTC

[jira] Created: (DERBY-4753) "ERROR 42X01: Syntax error: FALSE." during call to java.sql.DatabaseMetaData.getIndexInfo

"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.


[jira] Commented: (DERBY-4753) "ERROR 42X01: Syntax error: FALSE." during call to java.sql.DatabaseMetaData.getIndexInfo

Posted by "Knut Anders Hatlen (JIRA)" <ji...@apache.org>.
    [ 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.