You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by dj...@apache.org on 2007/02/16 23:58:07 UTC

svn commit: r508639 - in /db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests: tests/lang/TriggerTest.java util/streams/ReadOnceByteArrayInputStream.java util/streams/StringReaderWithLength.java

Author: djd
Date: Fri Feb 16 14:58:07 2007
New Revision: 508639

URL: http://svn.apache.org/viewvc?view=rev&rev=508639
Log:
DERBY-1102 Add missing classes for TriggerTest and latest version of test with reference to DEBRY-2350.

Added:
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/streams/ReadOnceByteArrayInputStream.java   (with props)
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/streams/StringReaderWithLength.java   (with props)
Modified:
    db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/TriggerTest.java

Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/TriggerTest.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/TriggerTest.java?view=diff&rev=508639&r1=508638&r2=508639
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/TriggerTest.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/lang/TriggerTest.java Fri Feb 16 14:58:07 2007
@@ -181,9 +181,9 @@
         int jdbcType = DatabaseMetaDataTest.getJDBCType(type);
         int precision = DatabaseMetaDataTest.getPrecision(jdbcType, type);
 
-        // Can't directly insert into XML columns from JDBC.
+        // BUG DERBY-2350  - remove this check & return to see the issue.      
         if (jdbcType == JDBC.SQLXML)
-            return; // temp
+            return;
         
         // BUG DERBY-2349 - remove this check & return to see the issue.
         if (jdbcType == Types.BLOB)
@@ -194,6 +194,17 @@
         String ins1 = "INSERT INTO T_MAIN(V) VALUES (?)";
         String ins3 = "INSERT INTO T_MAIN(V) VALUES (?), (?), (?)";
         
+        // Can't directly insert into XML columns from JDBC.
+        if (jdbcType == JDBC.SQLXML)
+        {
+            ins1 = "INSERT INTO T_MAIN(V) VALUES " +
+                    "XMLPARSE (DOCUMENT CAST (? AS CLOB) PRESERVE WHITESPACE)";
+            ins3 = "INSERT INTO T_MAIN(V) VALUES " +
+                    "XMLPARSE (DOCUMENT CAST (? AS CLOB) PRESERVE WHITESPACE)," +
+                    "XMLPARSE (DOCUMENT CAST (? AS CLOB) PRESERVE WHITESPACE)," +
+                    "XMLPARSE (DOCUMENT CAST (? AS CLOB) PRESERVE WHITESPACE)";
+        }
+        
         PreparedStatement ps;
         ps = prepareStatement(ins1);
         setRandomValue(r, ps, 1, jdbcType, precision);
@@ -365,6 +376,12 @@
                 precision = 256*1024;
             return new ReadOnceByteArrayInputStream(
                     randomBinary(r, r.nextInt(precision)));
+            
+        case JDBC.SQLXML:
+            // Not random yet, but was blocked by DEBRY-2350
+            // so just didn't put effort into generating 
+            // a random size XML document.
+            return new StringReaderWithLength("<a><b>text</b></a>");
             
              
        }

Added: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/streams/ReadOnceByteArrayInputStream.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/streams/ReadOnceByteArrayInputStream.java?view=auto&rev=508639
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/streams/ReadOnceByteArrayInputStream.java (added)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/streams/ReadOnceByteArrayInputStream.java Fri Feb 16 14:58:07 2007
@@ -0,0 +1,45 @@
+package org.apache.derbyTesting.functionTests.util.streams;
+
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+
+public class ReadOnceByteArrayInputStream extends ByteArrayInputStream {
+
+    private boolean isClosed;
+    
+    public ReadOnceByteArrayInputStream(byte[] arg0) {
+        super(arg0);
+    }
+
+    public ReadOnceByteArrayInputStream(byte[] arg0, int arg1, int arg2) {
+        super(arg0, arg1, arg2);
+    }
+    
+    public boolean markSupported()
+    {
+        return false;
+    }
+    
+    public void close() throws IOException
+    {
+        isClosed = true;
+        super.close();
+    }
+    
+    public int read(byte[] b,
+            int off,
+            int len)
+    {
+        if (isClosed)
+            return -1;
+        return super.read(b, off, len);
+    }
+    
+    public int read()
+    {
+        if (isClosed)
+            return -1;
+        return super.read();
+    }
+
+}

Propchange: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/streams/ReadOnceByteArrayInputStream.java
------------------------------------------------------------------------------
    svn:eol-style = native

Added: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/streams/StringReaderWithLength.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/streams/StringReaderWithLength.java?view=auto&rev=508639
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/streams/StringReaderWithLength.java (added)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/streams/StringReaderWithLength.java Fri Feb 16 14:58:07 2007
@@ -0,0 +1,22 @@
+package org.apache.derbyTesting.functionTests.util.streams;
+
+import java.io.StringReader;
+
+public class StringReaderWithLength extends StringReader {
+
+    private final int length;
+    
+    public StringReaderWithLength(String arg0) {
+        super(arg0);
+        this.length = arg0.length();
+    }
+    
+    public boolean markSupported() {
+        return false;
+    }
+
+    public int getLength()
+    {
+        return length;
+    }
+}

Propchange: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/util/streams/StringReaderWithLength.java
------------------------------------------------------------------------------
    svn:eol-style = native