xref: /aoo4110/main/hsqldb/patches/i121754.patch (revision b1cdbd2c)
1diff -urbwB ext_sources/hsqldb/build/build.xml ext_sources/hsqldb_1_8_0_11/build/build.xml
2--- misc/hsqldb/build/build.xml	2008-06-01 23:56:57.000000000 +0200
3+++ misc/build/hsqldb/build/build.xml	2013-07-05 23:25:40.000000000 +0200
4@@ -1,6 +1,6 @@
5 <?xml version="1.0"?>
6-<!-- author fredt@users.sourceforge.net 2001 - 2008 -->
7-<!-- additional targets by unsaved@users.sourceforge.net 2004 - 2008 -->
8+<!-- author fredt@users.sourceforge.net 2001 - 2009 -->
9+<!-- additional targets by unsaved@users.sourceforge.net 2004 - 2009 -->
10
11 <project name="hsqldb" default="help" basedir="../">
12    <!-- This loads properties in the same exact way as if you ran
13@@ -14,10 +14,10 @@
14         Do not address questions about property file(s) to the
15         hsqldb community. -->
16    <property file='build/build.properties'/>
17-   <property name="hsqldb.version" value="1.8.0.10"/>
18+   <property name="hsqldb.version" value="1.8.0.11"/>
19
20    <tstamp>
21-       <format property="_tmpstamp" pattern="yyyy/MM/dd-hh:mm:ss"
22+       <format property="_tmpstamp" pattern="yyyy/MM/dd-HH:mm:ss"
23                locale="en"/>
24    </tstamp>
25
26@@ -26,7 +26,7 @@
27    <property name="hsqldb.title" value="HSQLDB"/>
28    <property name="hsqldb.vendor" value="The HSQLDB Development Group"/>
29    <property name="src" value="${basedir}/src"/>
30-   <property name="build.debug" value="off"/>
31+   <property name="build.debug" value="false"/>
32
33    <target name="init">
34    </target>
35@@ -213,10 +213,11 @@
36        </java>
37     </target>
38
39-    <target name="switchtojdk14" depends="switches"
40+    <target name="switchtojdk14" depends="switchtojdk13"
41             description="self explanatory" if="ant.java.iscjava14">
42       <java classname="org.hsqldb.util.CodeSwitcher" classpath="classes" >
43         <arg file="${src}/org/hsqldb/lib/java/JavaSystem.java"/>
44+        <arg file="${src}/org/hsqldb/jdbcDriver.java"/>
45         <arg file="${src}/org/hsqldb/lib/HsqlTimer.java"/>
46         <arg file="${src}/org/hsqldb/jdbc/jdbcBlob.java"/>
47         <arg file="${src}/org/hsqldb/jdbc/jdbcDatabaseMetaData.java"/>
48@@ -251,6 +252,7 @@
49     <target name="switchtojdk16" depends="switchtojdk14"
50             description="self explanatory" if="ant.java.iscjava16">
51       <java classname="org.hsqldb.util.CodeSwitcher" classpath="classes" >
52+        <arg file="${src}/org/hsqldb/jdbcDriver.java"/>
53         <arg file="${src}/org/hsqldb/lib/java/JavaSystem.java"/>
54         <arg file="${src}/org/hsqldb/lib/HsqlTimer.java"/>
55         <arg file="${src}/org/hsqldb/jdbc/jdbcBlob.java"/>
56diff -urbwB ext_sources/hsqldb/src/org/hsqldb/Expression.java ext_sources/hsqldb_1_8_0_11/src/org/hsqldb/Expression.java
57--- misc/hsqldb/src/org/hsqldb/Expression.java	2008-05-27 17:15:05.000000000 +0200
58+++ misc/build/hsqldb/src/org/hsqldb/Expression.java	2013-07-05 23:40:51.000000000 +0200
59@@ -807,6 +807,14 @@
60
61             case COUNT :
62                 buf.append(' ').append(Token.T_COUNT).append('(');
63+
64+                if ("(*)".equals(left)) {
65+                    buf.append('*');
66+                } else {
67+                    buf.append(left);
68+                }
69+
70+                buf.append(')');
71                 break;
72
73             case SUM :
74@@ -858,11 +866,15 @@
75                 buf.append(' ').append(Token.T_VAR_SAMP).append('(');
76                 buf.append(left).append(')');
77                 break;
78-        }
79
80+            default :
81         throw Trace.error(Trace.EXPRESSION_NOT_SUPPORTED);
82     }
83
84+        // changes used in OpenOffice 3.4 have been incorporated
85+        return buf.toString();
86+    }
87+
88     private String describe(Session session, int blanks) {
89
90         int          lIType;
91@@ -1523,6 +1535,12 @@
92             return columnName;
93         }
94
95+        if (isAggregate(exprType)) {
96+            try {
97+                return getDDL();
98+            } catch (Exception e) {}
99+        }
100+
101         return "";
102     }
103
104diff -urbwB ext_sources/hsqldb/src/org/hsqldb/jdbc/jdbcCallableStatement.java ext_sources/hsqldb_1_8_0_11/src/org/hsqldb/jdbc/jdbcCallableStatement.java
105--- misc/hsqldb/src/org/hsqldb/jdbc/jdbcCallableStatement.java	2008-03-20 02:44:28.000000000 +0100
106+++ misc/build/hsqldb/src/org/hsqldb/jdbc/jdbcCallableStatement.java	2013-07-05 23:45:50.000000000 +0200
107@@ -3376,7 +3376,26 @@
108     {
109         throw new UnsupportedOperationException("Not supported yet.");
110     }
111-*/
112
113+    public <T>T getObject(int parameterIndex,
114+                          Class<T> type) throws SQLException {
115+        return (T) this.getObject(parameterIndex);
116+    }
117+
118+    public <T>T getObject(String parameterName,
119+                          Class<T> type) throws SQLException {
120+        return getObject(this.findParameterIndex(parameterName), type);
121+    }
122+
123+    public void closeOnCompletion() throws SQLException {
124+        throw new UnsupportedOperationException("Not supported yet.");
125+    }
126+
127+    public boolean isCloseOnCompletion() throws SQLException {
128+        throw new UnsupportedOperationException("Not supported yet.");
129+    }
130+
131+*/
132 //#endif JAVA6
133+
134 }
135diff -urbwB ext_sources/hsqldb/src/org/hsqldb/jdbc/jdbcConnection.java ext_sources/hsqldb_1_8_0_11/src/org/hsqldb/jdbc/jdbcConnection.java
136--- misc/hsqldb/src/org/hsqldb/jdbc/jdbcConnection.java	2008-03-20 02:44:28.000000000 +0100
137+++ misc/build/hsqldb/src/org/hsqldb/jdbc/jdbcConnection.java	2013-07-05 23:46:02.000000000 +0200
138@@ -2794,6 +2794,36 @@
139     {
140         throw new UnsupportedOperationException("Not supported yet.");
141     }
142+
143+    public int getNetworkTimeout() throws SQLException {
144+        return 0;
145+    }
146+
147+    public void setNetworkTimeout(java.util.concurrent.Executor executor,
148+                                  int milliseconds) throws SQLException {
149+
150+        checkClosed();
151+
152+        throw Util.notSupported();
153+    }
154+
155+    public void setSchema(String schema) throws SQLException {
156+        checkClosed();
157+
158+        throw Util.notSupported();
159+    }
160+
161+    public String getSchema() throws SQLException {
162+        checkClosed();
163+
164+        throw Util.notSupported();
165+    }
166+    public void abort(
167+            java.util.concurrent.Executor executor) throws SQLException {
168+        checkClosed();
169+
170+        throw Util.notSupported();
171+    }
172 */
173
174 //#endif JAVA6
175diff -urbwB ext_sources/hsqldb/src/org/hsqldb/jdbc/jdbcDatabaseMetaData.java ext_sources/hsqldb_1_8_0_11/src/org/hsqldb/jdbc/jdbcDatabaseMetaData.java
176--- misc/hsqldb/src/org/hsqldb/jdbc/jdbcDatabaseMetaData.java	2008-03-20 02:44:28.000000000 +0100
177+++ misc/build/hsqldb/src/org/hsqldb/jdbc/jdbcDatabaseMetaData.java	2013-07-05 23:46:18.000000000 +0200
178@@ -5694,7 +5694,17 @@
179     {
180         throw new UnsupportedOperationException("Not supported yet.");
181     }
182-*/
183
184+    public ResultSet getPseudoColumns(
185+            String catalog, String schemaPattern, String tableNamePattern,
186+            String columnNamePattern) throws SQLException {
187+        throw Util.notSupported();
188+    }
189+
190+    public boolean generatedKeyAlwaysReturned() throws SQLException {
191+        return true;
192+    }
193+
194+*/
195 //#endif JAVA6
196 }
197diff -urbwB ext_sources/hsqldb/src/org/hsqldb/jdbc/jdbcDataSource.java ext_sources/hsqldb_1_8_0_11/src/org/hsqldb/jdbc/jdbcDataSource.java
198--- misc/hsqldb/src/org/hsqldb/jdbc/jdbcDataSource.java	2008-05-28 22:23:02.000000000 +0200
199+++ misc/build/hsqldb/src/org/hsqldb/jdbc/jdbcDataSource.java	2013-07-05 23:46:39.000000000 +0200
200@@ -322,6 +322,11 @@
201     {
202         throw new UnsupportedOperationException("Not supported yet.");
203     }
204+
205+    public java.util.logging.Logger getParentLogger()
206+    throws java.sql.SQLFeatureNotSupportedException {
207+        throw (java.sql.SQLFeatureNotSupportedException) Util.notSupported();
208+    }
209 */
210
211 //#endif JAVA6
212diff -urbwB ext_sources/hsqldb/src/org/hsqldb/jdbc/jdbcPreparedStatement.java ext_sources/hsqldb_1_8_0_11/src/org/hsqldb/jdbc/jdbcPreparedStatement.java
213--- misc/hsqldb/src/org/hsqldb/jdbc/jdbcPreparedStatement.java	2008-03-20 02:44:28.000000000 +0100
214+++ misc/build/hsqldb/src/org/hsqldb/jdbc/jdbcPreparedStatement.java	2013-07-05 23:46:54.000000000 +0200
215@@ -2403,6 +2403,15 @@
216     {
217         throw new UnsupportedOperationException("Not supported yet.");
218     }
219+
220+    public void closeOnCompletion() throws SQLException {
221+        checkClosed();
222+    }
223+
224+    public boolean isCloseOnCompletion() throws SQLException {
225+        checkClosed();
226+        return false;
227+    }
228 */
229
230 //#endif JAVA6
231diff -urbwB ext_sources/hsqldb/src/org/hsqldb/jdbc/jdbcResultSet.java ext_sources/hsqldb_1_8_0_11/src/org/hsqldb/jdbc/jdbcResultSet.java
232--- misc/hsqldb/src/org/hsqldb/jdbc/jdbcResultSet.java	2008-03-20 02:44:28.000000000 +0100
233+++ misc/build/hsqldb/src/org/hsqldb/jdbc/jdbcResultSet.java	2013-07-05 23:47:15.000000000 +0200
234@@ -5325,7 +5325,16 @@
235     {
236         throw new UnsupportedOperationException("Not supported yet.");
237     }
238-*/
239
240+    public <T>T getObject(int columnIndex, Class<T> type) throws SQLException {
241+        return (T) getObject(columnIndex);
242+    }
243+
244+    public <T>T getObject(String columnLabel,
245+                          Class<T> type) throws SQLException {
246+        return getObject(findColumn(columnLabel), type);
247+    }
248+
249+*/
250 //#endif JAVA6
251 }
252diff -urbwB ext_sources/hsqldb/src/org/hsqldb/jdbc/jdbcStatement.java ext_sources/hsqldb_1_8_0_11/src/org/hsqldb/jdbc/jdbcStatement.java
253--- misc/hsqldb/src/org/hsqldb/jdbc/jdbcStatement.java	2008-03-20 02:44:28.000000000 +0100
254+++ misc/build/hsqldb/src/org/hsqldb/jdbc/jdbcStatement.java	2013-07-05 23:47:29.000000000 +0200
255@@ -1608,6 +1608,16 @@
256     {
257         throw new UnsupportedOperationException("Not supported yet.");
258     }
259+
260+    public void closeOnCompletion() throws SQLException {
261+        checkClosed();
262+    }
263+
264+    public boolean isCloseOnCompletion() throws SQLException {
265+        checkClosed();
266+        return false;
267+    }
268+
269 */
270 //#endif JAVA6
271 }
272diff -urbwB ext_sources/hsqldb/src/org/hsqldb/jdbcDriver.java ext_sources/hsqldb_1_8_0_11/src/org/hsqldb/jdbcDriver.java
273--- misc/hsqldb/src/org/hsqldb/jdbcDriver.java	2006-04-11 17:03:24.000000000 +0200
274+++ misc/build/hsqldb/src/org/hsqldb/jdbcDriver.java	2013-07-05 23:48:06.000000000 +0200
275@@ -321,4 +321,16 @@
276             DriverManager.registerDriver(new jdbcDriver());
277         } catch (Exception e) {}
278     }
279+
280+//#ifdef JAVA6
281+/*
282+    public java.util.logging
283+            .Logger getParentLogger() throws java.sql
284+                .SQLFeatureNotSupportedException {
285+        throw new UnsupportedOperationException("Not supported yet.");
286+    }
287+*/
288+
289+//#endif
290+
291 }
292diff -urbwB ext_sources/hsqldb/src/org/hsqldb/lib/StringComparator.java ext_sources/hsqldb_1_8_0_11/src/org/hsqldb/lib/StringComparator.java
293--- misc/hsqldb/src/org/hsqldb/lib/StringComparator.java	2013-07-06 00:32:59.000000000 +0200
294+++ misc/build/hsqldb/src/org/hsqldb/lib/StringComparator.java	2013-07-06 00:09:04.000000000 +0200
295@@ -0,0 +1,53 @@
296+/* Copyright (c) 2001-2008, The HSQL Development Group
297+ * All rights reserved.
298+ *
299+ * Redistribution and use in source and binary forms, with or without
300+ * modification, are permitted provided that the following conditions are met:
301+ *
302+ * Redistributions of source code must retain the above copyright notice, this
303+ * list of conditions and the following disclaimer.
304+ *
305+ * Redistributions in binary form must reproduce the above copyright notice,
306+ * this list of conditions and the following disclaimer in the documentation
307+ * and/or other materials provided with the distribution.
308+ *
309+ * Neither the name of the HSQL Development Group nor the names of its
310+ * contributors may be used to endorse or promote products derived from this
311+ * software without specific prior written permission.
312+ *
313+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
314+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
315+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
316+ * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
317+ * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
318+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
319+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
320+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
321+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
322+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
323+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
324+ */
325+
326+
327+package org.hsqldb.lib;
328+
329+public class StringComparator implements ObjectComparator {
330+
331+    public int compare(Object a, Object b) {
332+
333+        // handle nulls
334+        if (a == b) {
335+            return 0;
336+        }
337+
338+        if (a == null) {
339+            return -1;
340+        }
341+
342+        if (b == null) {
343+            return 1;
344+        }
345+
346+        return ((String) a).compareTo((String) b);
347+    }
348+}
349diff -urbwB ext_sources/hsqldb/src/org/hsqldb/Library.java ext_sources/hsqldb_1_8_0_11/src/org/hsqldb/Library.java
350--- misc/hsqldb/src/org/hsqldb/Library.java	2006-07-17 00:29:33.000000000 +0200
351+++ misc/build/hsqldb/src/org/hsqldb/Library.java	2013-07-05 23:51:13.000000000 +0200
352@@ -1957,7 +1957,7 @@
353         functionMap.put("bitand", bitand);
354         functionMap.put("bitlength", bitLength);
355         functionMap.put("bitor", bitor);
356-        functionMap.put("bitxor", bitor);
357+        functionMap.put("bitxor", bitxor);
358         functionMap.put("character", character);
359         functionMap.put("concat", concat);
360         functionMap.put("cot", cot);
361diff -urbwB ext_sources/hsqldb/src/org/hsqldb/persist/HsqlDatabaseProperties.java ext_sources/hsqldb_1_8_0_11/src/org/hsqldb/persist/HsqlDatabaseProperties.java
362--- misc/hsqldb/src/org/hsqldb/persist/HsqlDatabaseProperties.java	2008-03-17 17:05:41.000000000 +0100
363+++ misc/build/hsqldb/src/org/hsqldb/persist/HsqlDatabaseProperties.java	2013-07-05 23:52:14.000000000 +0200
364@@ -429,6 +429,7 @@
365             setProperty(hsqldb_log_size, 10);
366             setProperty(sql_enforce_strict_size, true);
367             setProperty(hsqldb_nio_data_file, false);
368+            setProperty(hsqldb_lock_file, true);
369         }
370
371         // OOo end
372diff -urbwB ext_sources/hsqldb/src/org/hsqldb/Select.java ext_sources/hsqldb_1_8_0_11/src/org/hsqldb/Select.java
373--- misc/hsqldb/src/org/hsqldb/Select.java	2007-07-17 18:14:09.000000000 +0200
374+++ misc/build/hsqldb/src/org/hsqldb/Select.java	2013-07-05 23:57:48.000000000 +0200
375@@ -33,7 +33,7 @@
376  *
377  * For work added by the HSQL Development Group:
378  *
379- * Copyright (c) 2001-2008, The HSQL Development Group
380+ * Copyright (c) 2001-2005, The HSQL Development Group
381  * All rights reserved.
382  *
383  * Redistribution and use in source and binary forms, with or without
384@@ -1255,6 +1255,7 @@
385         for (int i = 0; i < iResultLen; i++) {
386             e                    = exprColumns[i];
387             rmd.colTypes[i]      = e.getDataType();
388+            rmd.classNames[i]    = e.getValueClassName();
389             rmd.colSizes[i]      = e.getColumnSize();
390             rmd.colScales[i]     = e.getColumnScale();
391             rmd.colLabels[i]     = e.getAlias();
392@@ -1263,6 +1264,7 @@
393             rmd.colNames[i]      = e.getColumnName();
394
395             if (rmd.isTableColumn(i)) {
396+                rmd.schemaNames[i]   = e.getTableSchemaName();
397                 rmd.colNullable[i] = e.nullability;
398                 rmd.isIdentity[i]  = e.isIdentity;
399                 rmd.isWritable[i]  = e.isWritable;
400diff -urbwB ext_sources/hsqldb/src/org/hsqldb/Table.java ext_sources/hsqldb_1_8_0_11/src/org/hsqldb/Table.java
401--- misc/hsqldb/src/org/hsqldb/Table.java	2007-10-19 23:59:07.000000000 +0200
402+++ misc/build/hsqldb/src/org/hsqldb/Table.java	2013-07-05 23:58:46.000000000 +0200
403@@ -149,10 +149,10 @@
404     Constraint[]      constraintList;                 // constrainst for the table
405     HsqlArrayList[]   triggerLists;                   // array of trigger lists
406     private int[]     colTypes;                       // fredt - types of columns
407-    private int[]     colSizes;                       // fredt - copy of SIZE values for columns
408+    int[]             colSizes;                       // fredt - copy of SIZE values for columns
409     private int[]     colScales;                      // fredt - copy of SCALE values for columns
410     private boolean[] colNullable;                    // fredt - modified copy of isNullable() values
411-    private Expression[] colDefaults;                 // fredt - expressions of DEFAULT values
412+    Expression[]      colDefaults;                    // fredt - expressions of DEFAULT values
413     private int[]        defaultColumnMap;            // fred - holding 0,1,2,3,...
414     private boolean      hasDefaultValues;            //fredt - shortcut for above
415     boolean              sqlEnforceSize;              // inherited from the database -
416diff -urbwB ext_sources/hsqldb/src/org/hsqldb/TableWorks.java ext_sources/hsqldb_1_8_0_11/src/org/hsqldb/TableWorks.java
417--- misc/hsqldb/src/org/hsqldb/TableWorks.java	2007-01-14 06:48:16.000000000 +0100
418+++ misc/build/hsqldb/src/org/hsqldb/TableWorks.java	2013-07-05 23:59:03.000000000 +0200
419@@ -670,7 +670,10 @@
420             // default expressions can change
421             oldCol.setType(newCol);
422             oldCol.setDefaultExpression(newCol.getDefaultExpression());
423-            table.setColumnTypeVars(colIndex);
424+
425+            table.colSizes[colIndex]    = oldCol.getSize();
426+            table.colDefaults[colIndex] = oldCol.getDefaultExpression();
427+
428             table.resetDefaultsFlag();
429
430             return;
431