Author: gk Date: Thu Oct 24 13:21:57 2019 New Revision: 1868876 URL: http://svn.apache.org/viewvc?rev=1868876&view=rev Log: - hsqldb profile: - fix required useDatabaseDefaultValue in schema to avoid java om default handling + test check - fix hsqldb varbinary, binary size, - add sql /if exists/ to dropTable template
- improve test output Modified: db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformHsqldbImpl.java db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/sql/templates/ddl/hsqldb/dropTable.groovy db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/sql/templates/ddl/hsqldb/dropTable.vm db/torque/torque4/trunk/torque-templates/src/test/java/org/apache/torque/templates/TestProcessing.java db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-schema-hsqldb.sql db/torque/torque4/trunk/torque-test/pom.xml db/torque/torque4/trunk/torque-test/src/main/schema/default-value-schema.xml db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/datatypes/ByteTypeTest.java db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/generated/peer/DefaultValuesFromJavaTest.java Modified: db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformHsqldbImpl.java URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformHsqldbImpl.java?rev=1868876&r1=1868875&r2=1868876&view=diff ============================================================================== --- db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformHsqldbImpl.java (original) +++ db/torque/torque4/trunk/torque-templates/src/main/java/org/apache/torque/templates/platform/PlatformHsqldbImpl.java Thu Oct 24 13:21:57 2019 @@ -128,9 +128,15 @@ public class PlatformHsqldbImpl extends return true; } + /** + * Caveat, read HSQLDB e.g. + * Do not use BINARY(L) unless you are storing keys such as UUID. + * This type pads short binary strings with zero bytes. + * BINARY without the length L means a single byte. + */ @Override public boolean hasSize(String sqlType) { - return "VARCHAR".equals(sqlType); + return "VARCHAR".equals(sqlType) || "VARBINARY".equals(sqlType) || "BINARY".equals(sqlType); } @Override Modified: db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/sql/templates/ddl/hsqldb/dropTable.groovy URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/sql/templates/ddl/hsqldb/dropTable.groovy?rev=1868876&r1=1868875&r2=1868876&view=diff ============================================================================== --- db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/sql/templates/ddl/hsqldb/dropTable.groovy (original) +++ db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/sql/templates/ddl/hsqldb/dropTable.groovy Thu Oct 24 13:21:57 2019 @@ -21,5 +21,5 @@ TorqueGenGroovy torqueGenGroovy = (Torqu Table table = torqueGenGroovy.model return """\ -drop table $table.name; +drop table $table.name if exists; """ \ No newline at end of file Modified: db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/sql/templates/ddl/hsqldb/dropTable.vm URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/sql/templates/ddl/hsqldb/dropTable.vm?rev=1868876&r1=1868875&r2=1868876&view=diff ============================================================================== --- db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/sql/templates/ddl/hsqldb/dropTable.vm (original) +++ db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/sql/templates/ddl/hsqldb/dropTable.vm Thu Oct 24 13:21:57 2019 @@ -14,4 +14,4 @@ ## KIND, either express or implied. See the License for the ## specific language governing permissions and limitations ## under the License. -drop table $name; +drop table $name if exists; Modified: db/torque/torque4/trunk/torque-templates/src/test/java/org/apache/torque/templates/TestProcessing.java URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/test/java/org/apache/torque/templates/TestProcessing.java?rev=1868876&r1=1868875&r2=1868876&view=diff ============================================================================== --- db/torque/torque4/trunk/torque-templates/src/test/java/org/apache/torque/templates/TestProcessing.java (original) +++ db/torque/torque4/trunk/torque-templates/src/test/java/org/apache/torque/templates/TestProcessing.java Thu Oct 24 13:21:57 2019 @@ -1,5 +1,7 @@ package org.apache.torque.templates; +import static org.junit.jupiter.api.Assertions.assertEquals; + /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -390,10 +392,21 @@ public class TestProcessing // new File(actualFilename), // charset); // auto close file input stream + boolean isEqual = false; // delay assert try (Reader actualReader =new InputStreamReader(new FileInputStream(actualFilename), charset) ) { - assertTrue( + isEqual = IOUtils.contentEqualsIgnoreEOL(new InputStreamReader(IOUtils.toInputStream(expected, charset)), - actualReader) ); + actualReader) ; + } + if (!isEqual) { + //check lines + List<String> genSchema = IOUtils.readLines( + new InputStreamReader(new FileInputStream(actualFilename), charset) ); + int index= 0; + for (String line : genSchema) { + assertTrue(expected.contains(line), line + " is not in expected file: "+ expectedFilename); + index++; + } } } } Modified: db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-schema-hsqldb.sql URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-schema-hsqldb.sql?rev=1868876&r1=1868875&r2=1868876&view=diff ============================================================================== --- db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-schema-hsqldb.sql (original) +++ db/torque/torque4/trunk/torque-templates/src/test/resources/org/apache/torque/templates/expected-schema-hsqldb.sql Thu Oct 24 13:21:57 2019 @@ -62,19 +62,19 @@ ALTER TABLE extext_schema DROP CONSTRAINT extext_schema_FK_1; -drop table a; -drop table b; -drop table r_ab; -drop table c; -drop table d; -drop table nopk; -drop table MULTIPK_SELF_REFTABLE; -drop table ifc_table; -drop table ifc_table2; -drop table INHERITANCE_TEST; -drop table ext_schema; -drop table extext_schema; -drop table torque.qualified_name; +drop table a if exists; +drop table b if exists; +drop table r_ab if exists; +drop table c if exists; +drop table d if exists; +drop table nopk if exists; +drop table MULTIPK_SELF_REFTABLE if exists; +drop table ifc_table if exists; +drop table ifc_table2 if exists; +drop table INHERITANCE_TEST if exists; +drop table ext_schema if exists; +drop table extext_schema if exists; +drop table torque.qualified_name if exists; DROP SCHEMA torque; Modified: db/torque/torque4/trunk/torque-test/pom.xml URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-test/pom.xml?rev=1868876&r1=1868875&r2=1868876&view=diff ============================================================================== --- db/torque/torque4/trunk/torque-test/pom.xml (original) +++ db/torque/torque4/trunk/torque-test/pom.xml Thu Oct 24 13:21:57 2019 @@ -48,7 +48,7 @@ <properties> <onSqlError>abort</onSqlError> <torque.test.derby.version>10.14.2.0</torque.test.derby.version> - <torque.test.hsqldb.version>2.3.1</torque.test.hsqldb.version> + <torque.test.hsqldb.version>2.3.1</torque.test.hsqldb.version><!-- 2.5.0 as of june 2019 --> <torque.test.mssql.version>1.2.7</torque.test.mssql.version> <torque.test.mysql.version>8.0.13</torque.test.mysql.version> <torque.test.oracle.version>10.2.0.3.0</torque.test.oracle.version> Modified: db/torque/torque4/trunk/torque-test/src/main/schema/default-value-schema.xml URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-test/src/main/schema/default-value-schema.xml?rev=1868876&r1=1868875&r2=1868876&view=diff ============================================================================== --- db/torque/torque4/trunk/torque-test/src/main/schema/default-value-schema.xml (original) +++ db/torque/torque4/trunk/torque-test/src/main/schema/default-value-schema.xml Thu Oct 24 13:21:57 2019 @@ -131,11 +131,13 @@ name="CURRENT_DATE_VALUE" type="DATE" @CURRENT_DATE_DEFAULT@ + useDatabaseDefaultValue="true" /> <column name="CURRENT_TIME_VALUE" type="TIME" @CURRENT_TIME_DEFAULT@ + useDatabaseDefaultValue="true" /> <column name="CURRENT_TIMESTAMP_VALUE" Modified: db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/datatypes/ByteTypeTest.java URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/datatypes/ByteTypeTest.java?rev=1868876&r1=1868875&r2=1868876&view=diff ============================================================================== --- db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/datatypes/ByteTypeTest.java (original) +++ db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/datatypes/ByteTypeTest.java Thu Oct 24 13:21:57 2019 @@ -148,11 +148,16 @@ public abstract class ByteTypeTest<T ext * @throws TorqueException if saving fails */ private T fillAndSave(T toFill, int size) - throws Exception + // throws Exception { byte[] bytes = createBytes(size); setBytes(bytes, toFill); - toFill.save(); + try { + toFill.save(); + } catch (Exception e) { + fail(e.getMessage() +" - could not save " + toFill + " with bytes "+ new String(bytes)); + e.printStackTrace(); + } return toFill; } Modified: db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/generated/peer/DefaultValuesFromJavaTest.java URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/generated/peer/DefaultValuesFromJavaTest.java?rev=1868876&r1=1868875&r2=1868876&view=diff ============================================================================== --- db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/generated/peer/DefaultValuesFromJavaTest.java (original) +++ db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/generated/peer/DefaultValuesFromJavaTest.java Thu Oct 24 13:21:57 2019 @@ -105,16 +105,19 @@ public class DefaultValuesFromJavaTest e GregorianCalendar currentCalendarBefore = new GregorianCalendar(); currentCalendarBefore.set(1970, 1, 1); JavaDefaultValues javaDefaultValues = new JavaDefaultValues(); - GregorianCalendar currentCalendarAfter = new GregorianCalendar(); - currentCalendarAfter.set(1970, 1, 1); - assertFalse( - "currentTime should be >= currentCalendarBefore", - javaDefaultValues.getCurrentTimeValue().before( - currentCalendarBefore.getTime())); - assertFalse( - "currentTime should be <= currentDateAfter", - javaDefaultValues.getCurrentTimeValue().after( + if (javaDefaultValues.getCurrentTimeValue() == null) { + // the schema has useDatabaseDefaultValue an current time is set null + GregorianCalendar currentCalendarAfter = new GregorianCalendar(); + currentCalendarAfter.set(1970, 1, 1); + assertFalse( + "currentTime should be >= currentCalendarBefore", + javaDefaultValues.getCurrentTimeValue().before( + currentCalendarBefore.getTime())); + assertFalse( + "currentTime should be <= currentDateAfter", + javaDefaultValues.getCurrentTimeValue().after( currentCalendarAfter.getTime())); + } } /** --------------------------------------------------------------------- To unsubscribe, e-mail: torque-dev-unsubscr...@db.apache.org For additional commands, e-mail: torque-dev-h...@db.apache.org