You are viewing a plain text version of this content. The canonical link for it is here.
Posted to torque-dev@db.apache.org by gk...@apache.org on 2019/10/24 13:21:57 UTC
svn commit: r1868876 - in /db/torque/torque4/trunk:
torque-templates/src/main/java/org/apache/torque/templates/platform/
torque-templates/src/main/resources/org/apache/torque/templates/sql/templates/ddl/hsqldb/
torque-templates/src/test/java/org/apache...
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-unsubscribe@db.apache.org
For additional commands, e-mail: torque-dev-help@db.apache.org