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