Julian Hyde created CALCITE-1067:
------------------------------------
Summary: Test failures due to clashing temporary table names
Key: CALCITE-1067
URL: https://issues.apache.org/jira/browse/CALCITE-1067
Project: Calcite
Issue Type: Bug
Reporter: Julian Hyde
Assignee: Julian Hyde
Some tests have been failing because they use the same name for their temporary
tables in hsqldb. For example,
{noformat}
Error Message
Error -1 (00000) : Error while executing SQL "insert into TEST_TABLE2 values
('1735556312', '95d82c2e-49d0-4478-acb9-a7763a6234c4')": Remote driver error:
RuntimeException: java.sql.SQLDataException: data exception: string data, right
truncation; table: TEST_TABLE2 column: MSG -> SQLDataException: data
exception: string data, right truncation; table: TEST_TABLE2 column: MSG ->
HsqlException: data exception: string data, right truncation; table:
TEST_TABLE2 column: MSG -> HsqlException: data exception: string data, right
truncation
Stacktrace
org.apache.calcite.avatica.AvaticaSqlException: Error -1 (00000) : Error while
executing SQL "insert into TEST_TABLE2 values ('1735556312',
'95d82c2e-49d0-4478-acb9-a7763a6234c4')": Remote driver error:
RuntimeException: java.sql.SQLDataException: data exception: string data, right
truncation; table: TEST_TABLE2 column: MSG -> SQLDataException: data
exception: string data, right truncation; table: TEST_TABLE2 column: MSG ->
HsqlException: data exception: string data, right truncation; table:
TEST_TABLE2 column: MSG -> HsqlException: data exception: string data, right
truncation
at org.apache.calcite.avatica.Helper.createException(Helper.java:53)
at org.apache.calcite.avatica.Helper.createException(Helper.java:41)
at
org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:143)
at
org.apache.calcite.avatica.AvaticaStatement.executeLargeUpdate(AvaticaStatement.java:204)
at
org.apache.calcite.avatica.AvaticaStatement.executeUpdate(AvaticaStatement.java:199)
at
org.apache.calcite.avatica.remote.RemoteMetaTest.testRemoteStatementInsert(RemoteMetaTest.java:274)
Standard Output
jdbc:avatica:remote:url=http://localhost:55369;serialization=JSON
{noformat}
This occurs because RemoteMetaTest.testRemoteStatementInsert and
RemoteMetaTest.testRemoteStatementInsert both use a table called TEST_TABLE2.
The solution is to generate unique temporary table names; add a method {{String
AvaticaUtils.unique(String s)}} and have tests call it to make their table
names unique. They could use it for any other resources they want to be unique,
such as file names.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)