You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Andrew DeMaria (JIRA)" <ji...@apache.org> on 2016/07/28 16:57:20 UTC
[jira] [Closed] (CONFIGURATION-637) Oracle invalid idenitifer when
using a resevered keyword for column name
[ https://issues.apache.org/jira/browse/CONFIGURATION-637?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew DeMaria closed CONFIGURATION-637.
----------------------------------------
Resolution: Invalid
> Oracle invalid idenitifer when using a resevered keyword for column name
> ------------------------------------------------------------------------
>
> Key: CONFIGURATION-637
> URL: https://issues.apache.org/jira/browse/CONFIGURATION-637
> Project: Commons Configuration
> Issue Type: Bug
> Affects Versions: 2.0
> Environment: Oracle, Java 1.8
> Reporter: Andrew DeMaria
> Priority: Minor
>
> I have the following create table for oracle to store configs. Notice that the "scope" column name is properly escaped:
> {noformat}
> create table PROPERTY_CONTROL (
> "scope" VARCHAR2(32),
> "key" VARCHAR2(128),
> "value" VARCHAR2(512),
> CONSTRAINT property_control_pk PRIMARY KEY ("scope", "key")
> );
> {noformat}
> However, this causes the following stack trace (slightly modified for sensitive class names):
> {noformat}
> java.sql.SQLSyntaxErrorException: ORA-00904: "SCOPE": invalid identifier
> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:457)
> at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:400)
> at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:926)
> at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:476)
> at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:200)
> at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:543)
> at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:238)
> at oracle.jdbc.driver.T4CPreparedStatement.executeForDescribe(T4CPreparedStatement.java:1244)
> at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1492)
> at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1710)
> at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:4372)
> at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:4453)
> at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:6270)
> at com.zaxxer.hikari.proxy.PreparedStatementProxy.executeQuery(PreparedStatementProxy.java:52)
> at com.zaxxer.hikari.proxy.HikariPreparedStatementProxy.executeQuery(HikariPreparedStatementProxy.java)
> at org.apache.commons.configuration2.DatabaseConfiguration$JdbcOperation.openResultSet(DatabaseConfiguration.java:847)
> at org.apache.commons.configuration2.DatabaseConfiguration$4.performOperation(DatabaseConfiguration.java:487)
> at org.apache.commons.configuration2.DatabaseConfiguration$4.performOperation(DatabaseConfiguration.java:483)
> at org.apache.commons.configuration2.DatabaseConfiguration$JdbcOperation.execute(DatabaseConfiguration.java:742)
> at org.apache.commons.configuration2.DatabaseConfiguration.containsKeyInternal(DatabaseConfiguration.java:494)
> at org.apache.commons.configuration2.AbstractConfiguration.containsKey(AbstractConfiguration.java:1086)
> at org.apache.commons.configuration2.CompositeConfiguration.containsKeyInternal(CompositeConfiguration.java:374)
> at org.apache.commons.configuration2.AbstractConfiguration.containsKey(AbstractConfiguration.java:1086)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)