Changes from 802917 to 938214: svn log -r 802918:938214 https://svn.apache.org/repos/asf/db/derby/code/branches/10.6 ------------------------------------------------------------------------ r802985 | bpendleton | 2009-08-11 03:40:09 +0000 (Tue, 11 Aug 2009) | 11 lines DERBY-4256: Allow ALTER TABLE to increase the max size of BLOB or CLOB This patch was contributed by Eranda Sooriyabandara (070468D at gmail dot com) This patch enhances the Derby ALTER TABLE command so that it allows the maximum length limit of a BLOB or CLOB column to be increased. The patch also adds some new regression tests verifying the new functionality, and adjusts the text of the ALTER TABLE error message to make it more clear that it is legal to increase the length of a VARCHAR, BLOB, or CLOB column. ------------------------------------------------------------------------ r803336 | bpendleton | 2009-08-12 00:48:11 +0000 (Wed, 12 Aug 2009) | 23 lines DERBY-4282: Strange behavior with "where current of" in CheckConstraintTest This patch was contributed by Eranda Sooriyabandara (070468D at gmail dot com) This patch addresses an issue involving the binding of check constraints in queries which use the "where current of" construction to refer to the current row of an open cursor. The update statement was failing with a "column not found" error, complaining about the column referred to by the check constraint. The problem arises in the processing of ResultColumnList.expandToAll, which is used to construct ResultColumn instances for the columns in the table; these result column instances are then used when the check constraint is bound. ResultColumnList.java was constructing the ResultColumn instances as unnamed, which caused an internal name "SQLCOL1" to be generated, which later then caused the check constraint binding to fail. The solution is simply to ensure that the ResultColumn references that are built by expandToAll are named according to the column names. The patch also adds several new test cases. ------------------------------------------------------------------------ r803548 | mamta | 2009-08-12 15:04:30 +0000 (Wed, 12 Aug 2009) | 6 lines DERBY-4304 Committing changes which puts a new try catch block around all of the server shutdown code in case if there is some exception being thrown which is not getting caught. The catch block will log into the log file but if that fails for some reason, it will also just dump the stack trace using ex.printStackTrace(). ------------------------------------------------------------------------ r803694 | mikem | 2009-08-12 20:16:48 +0000 (Wed, 12 Aug 2009) | 11 lines DERBY-4037 updated test to wait longer if expected background tasks have not cleaned up expected pages yet. Fast machines should see no slowdown in the test. Slower machines will wait up to 100 seconds before reporting failure after checking iteratively for result every 1 second. Also enhanced printout to identify which test is failing between the 2 possibilities. /mikem ------------------------------------------------------------------------ r803948 | kmarsden | 2009-08-13 17:05:52 +0000 (Thu, 13 Aug 2009) | 8 lines DERBY-1191 (partial) Some SQLExceptions, for example those generated from BrokeredStatements, do not print to derby.log even when derby.stream.error.logSeverityLevel=0 Here is a patch that takes the approach of adding a public static void logAndThrowSQLException(SQLException se) method and then calling that instead of just throwing the exception. The initial patch only uses the method for EmbedConnection.checkForTransactionInProgress() which is the most important exception to log after the fix for DERBY-3319. ------------------------------------------------------------------------ r804271 | dag | 2009-08-14 15:54:12 +0000 (Fri, 14 Aug 2009) | 15 lines DERBY-4330 NullPointerException or assert failure when re-executing PreparedStatement after lock timeout Patch derby-4330c fixes this issue. The problem is that when a timeout happens (or a deadlock), the result set tree for prepared statements for some queries is partically in a closed, partially in an open state. (The issue was reported for a join query, but exists for others queries as well). This causes problems when the result set tree is being reused, i.e. when the prpared statement is attempted re-executed after the timeout, since the tree is expected to be fully closed at that time, cuasing the assert or NPE. The fix ensures that the tree is left in a fully closed state in such cases. ------------------------------------------------------------------------ r805275 | bpendleton | 2009-08-18 04:38:57 +0000 (Tue, 18 Aug 2009) | 13 lines DERBY-4318: Convert inbetween.sql to JUnit This patch was contributed by Eranda Sooriyabandara (070468D at gmail dot com) This patch replaces the old harness-style inbetween.sql test suite with a replacement JUnit assertion-based test InbetweenTest.java. The patch adds the new test program, and adds it to the JUnit lang suite, and removes the old inbetween.sql, inbetween.out, and inbetween.properties, as well as removing inbetween.sql from the derbylang.runall suite. ------------------------------------------------------------------------ r805443 | rhillegas | 2009-08-18 15:08:18 +0000 (Tue, 18 Aug 2009) | 1 line DERBY-4092: Don't allow invocations of table functions in contexts which expect a scalar function return value. ------------------------------------------------------------------------ r805448 | rhillegas | 2009-08-18 15:25:03 +0000 (Tue, 18 Aug 2009) | 1 line DERBY-700: Gracefully handle OverlappingFileLockException if someone attempts to boot a database twice. ------------------------------------------------------------------------ r805696 | kahatlen | 2009-08-19 08:28:45 +0000 (Wed, 19 Aug 2009) | 23 lines DERBY-4081: BTreeController.comparePreviousRecord() may fail to release latch on left-most leaf When a new value is inserted into a nullable unique index, the rows immediately to the left and the right of the insertion point are checked for duplicates. comparePreviousRecord() checks the rows to the left of the insertion point. If the row immediately to the left is marked as deleted, it will have to go further to the left until it finds a row that is not deleted. Now this check may cross page boundaries, and if it does so, and all the rows to the left of the insertion point are deleted, comparePreviousRecord() will return NO_MATCH before the latch left-most leaf in the index has been released. This means that the left-most leaf is still latched when comparePreviousRecord() returns, which it is not supposed to be unless the new value was actually inserted into the left-most leaf. The unexpected extra latch may cause deadlocks or livelocks. This patch adds a test that runs into a livelock because of the bug, and it fixes the bug by releasing the latch on the left-most leaf before returning NO_MATCH from comparePreviousRecord(). ------------------------------------------------------------------------ r805858 | rhillegas | 2009-08-19 16:07:51 +0000 (Wed, 19 Aug 2009) | 1 line DERBY-700: Some cleanup of ClassLoaderBootTest. ------------------------------------------------------------------------ r806699 | myrnavl | 2009-08-21 20:23:35 +0000 (Fri, 21 Aug 2009) | 5 lines DERBY-4213; sttest needs to be adjusted to not run out of disk space this change modifies the test in 2 ways: - add in-place-compress so occasionally unused space gets released - adjust the code that picks rows for delete so more rows will get deleted ------------------------------------------------------------------------ r807264 | rhillegas | 2009-08-24 15:02:36 +0000 (Mon, 24 Aug 2009) | 1 line DERBY-4344: Wire 10.5.3.0 into the upgrade test suite. ------------------------------------------------------------------------ r807266 | rhillegas | 2009-08-24 15:04:48 +0000 (Mon, 24 Aug 2009) | 1 line DERBY-4344: Add 10.5.3.0 to list of releases in the STATUS file. ------------------------------------------------------------------------ r807337 | dag | 2009-08-24 18:55:00 +0000 (Mon, 24 Aug 2009) | 4 lines DERBY-4208 Parameters ? with OFFSET and/or FETCH This patch implements the use of dynamic parameters with OFFSET/FETCH and adds new tests. ------------------------------------------------------------------------ r807685 | rhillegas | 2009-08-25 16:10:25 +0000 (Tue, 25 Aug 2009) | 1 line DERBY-4356: Better insulate ManagementMBeanTest from environment left over from previous JUnit tests. ------------------------------------------------------------------------ r807733 | myrnavl | 2009-08-25 18:00:25 +0000 (Tue, 25 Aug 2009) | 3 lines DERBY-3819 ; 'Expected Table Scan ResultSet for T3' in test_predicatePushdown(....PredicatePushdownTest) Causing a number of asserts to be skipped when using a 64 bit platform. ------------------------------------------------------------------------ r808494 | dag | 2009-08-27 16:22:00 +0000 (Thu, 27 Aug 2009) | 9 lines DERBY-3478 Simple column names specified as part of "AS" clause in a table expression are ignored if the table expression is a view. Patch DERBY-3478 fixes this issue and adds a new test case. The fix adds a call to propagateDCLInfo also for views in FromBaseTable.bindNonVTITables which seems to have been always missing. ------------------------------------------------------------------------ r808523 | dag | 2009-08-27 17:02:52 +0000 (Thu, 27 Aug 2009) | 13 lines DERBY-4087 Clean up debug printing of the abstract syntax trees after parsing, binding and optimization Patch DERBY-4087-b, which improves debug-time printing of query trees. Much of the changes concerns cleaning up when to use toString and when to use printSubNodes, a pattern which is well-defined but was severely broken, as well as including more data for each node, and sub-trees not hitherto printed at all. Please see JIRA for mroe detail. A new feature highlights aliases by suppressing printing of already printed subtrees (the query tree is a DAG, not a pure tree). ------------------------------------------------------------------------ r808601 | dag | 2009-08-27 20:13:39 +0000 (Thu, 27 Aug 2009) | 8 lines DERBY-4087 Clean up debug printing of the abstract syntax trees after parsing, binding and optimization Temporary roll-back of changes (808523) to the statistics printing, because they broke some old harness tests to change. It will take a while to establish correctness of new masters, so rolling back for now. Expect to roll forward again soon, though. ------------------------------------------------------------------------ r808850 | kahatlen | 2009-08-28 11:17:30 +0000 (Fri, 28 Aug 2009) | 10 lines DERBY-4348: Copy table content with "INSERT INTO table SELECT FROM (...)" statement leads to corrupt data NormalizeResultSet can in some cases replace a holder object in its DataValueDescriptor cache with a holder object that's also used in BulkTableScanResultSet's cache, and thereby corrupting BulkTableScanResultSet's fetch buffer when the holder object is modified. This patch makes NormalizeResultSet store the cached holder objects in a separate data structure to prevent them from being replaced. ------------------------------------------------------------------------ r808945 | dag | 2009-08-28 16:30:49 +0000 (Fri, 28 Aug 2009) | 7 lines DERBY-4087 Clean up debug printing of the abstract syntax trees after parsing, binding and optimization Reverting use of class Patter as it is not available in Foundation 1.2, so it cannot be sued in engine code. Originally committed as part of svn 808523. ------------------------------------------------------------------------ r809632 | dag | 2009-08-31 15:47:23 +0000 (Mon, 31 Aug 2009) | 5 lines DERBY-4087 Clean up debug printing of the abstract syntax trees after parsing, binding and optimization Follow-up patch, derby-4087-statistics. This fixes the wrong indentation seen in runtimestatistics for scan qualifiers. ------------------------------------------------------------------------ r809643 | dag | 2009-08-31 16:05:24 +0000 (Mon, 31 Aug 2009) | 10 lines DERBY-4338 Network client raises error "executeQuery method can not be used for update" when sql is preceded by /* */ comments This patch, derby-4338-d, fixes the seen bug, and also generalizes the method used by the client driver to find the first significant (non-comment) SQL statement identifier, i.e. a keyword. This is needed by the client's statement classification logic. For certain input strings the old method also gave wrong results, cf. the new test cases added. ------------------------------------------------------------------------ r810024 | kristwaa | 2009-09-01 13:26:08 +0000 (Tue, 01 Sep 2009) | 6 lines DERBY-4367: Replace Utils.min and Utils.max in the client driver with standard methods in java.lang.Math. Removed methods min and max in Utils, as they duplicate standard methods in java.lang.Math. Replaced all invocations. Patch file: derby-4367-1a-remove_min_max.diff ------------------------------------------------------------------------ r810151 | rhillegas | 2009-09-01 18:06:30 +0000 (Tue, 01 Sep 2009) | 1 line DERBY-712: Committed Suran Jayathilaka's create_drop_sequence_d.patch. This adds CREATE/DROP SEQUENCE commands. ------------------------------------------------------------------------ r810178 | myrnavl | 2009-09-01 19:11:43 +0000 (Tue, 01 Sep 2009) | 5 lines DERBY-2573 ; create a master ant target for generating all release artifacts First of possible increments; committing of the 'prepareforrelease' target, which does all the little ant steps before running ant release, and a few small checks. ------------------------------------------------------------------------ r810860 | kahatlen | 2009-09-03 10:13:17 +0000 (Thu, 03 Sep 2009) | 24 lines DERBY-4284: All Columns become Nullable when Using left join Only the columns from the right side of a left outer join, or from the left side of a right outer join, should be changed to nullable. This is done correctly in JoinNode.buildRCL(), but in addition SelectNode.bindResultColumns() makes all result columns nullable if the from list contains an outer join. This patch fixes the bug by removing the code in SelectNode that makes all columns nullable. This also made it possible to remove a method in FromList that became unused after the fix. Also, some test canons needed to be updated because IJ may change the formatting/spacing slightly depending on whether the result columns are nullable or not. The fix also exposed another manifestation of DERBY-2916, where some nodes saw the wrong nullability because they looked at the columns before JoinNode.buildRCL() had done its job. This was addressed by adding a workaround to JoinNode.getMatchingColumn(). Also, changes that had been made to wisconsin.out as part of DERBY-2916 earlier in order to make the Wisconsin test run cleanly despite the bug, could now be reverted because of the workaround. ------------------------------------------------------------------------ r812387 | kahatlen | 2009-09-08 08:34:40 +0000 (Tue, 08 Sep 2009) | 6 lines DERBY-4369: Give a more useful error message when join specification is missing Made the join specification optional in the grammar. This makes the parser go further before failing because of a missing ON clause, and existing code that emits a more useful error message can be reached. ------------------------------------------------------------------------ r812669 | mamta | 2009-09-08 20:10:57 +0000 (Tue, 08 Sep 2009) | 6 lines DERBY-4361 It was not enough to just the shutdown the database in Windows in order to be able to delete the log file later. The engine needed to be brought down too. I added code in JDBCDataSource for shutting down the engine and used this new method from the ClassLoaderBootTest to shut the engine down. ------------------------------------------------------------------------ r812895 | kahatlen | 2009-09-09 11:40:46 +0000 (Wed, 09 Sep 2009) | 6 lines DERBY-4369: Give a more useful error message when join specification is missing Backed out revision 812387 since it introduced an ambiguity in the grammar, and also because making the join specification optional appeared to be unnecessary for DERBY-4355. ------------------------------------------------------------------------ r813293 | kahatlen | 2009-09-10 08:10:07 +0000 (Thu, 10 Sep 2009) | 7 lines DERBY-4355: Implement CROSS JOIN This patch adds CROSS JOIN to the grammar and wires it into the existing join machinery. It also adds test cases to verify that the syntax is correctly understood, and it removes a negative test case for CROSS JOIN from the db2Compatibility test. ------------------------------------------------------------------------ r813528 | myrnavl | 2009-09-10 17:56:22 +0000 (Thu, 10 Sep 2009) | 3 lines DERBY-2895 ; convert lang/declareGlobalTempTableJavaJDBC30.java to JUnit original patch contributed by Ravinder Reddy ------------------------------------------------------------------------ r814237 | bpendleton | 2009-09-12 21:07:46 +0000 (Sat, 12 Sep 2009) | 15 lines DERBY-4363: Add simple benchmark for measuring GROUP BY performance. This change introduces a simple benchmark which can be used to measure GROUP BY statement performance. As an example of how to run the benchmark: java org.apache.derbyTesting.perf.clients.Runner -load group_by -init -load_opts numGroupingCols=2,numGroups1=10,numGroups2=100 (all on one long line). Over time, I anticipate that we will add other capabilities to this test to measure other aspects of GROUP BY performance, but the benchmark seems sufficiently functional at this point to be worth checking in. ------------------------------------------------------------------------ r814815 | myrnavl | 2009-09-14 19:57:23 +0000 (Mon, 14 Sep 2009) | 4 lines DERBY-4347 ; Provide a property to increase network server start timeout for JUnit tests This introduces the optional property 'derby.tests.networkServerStartTimeout' which takes an int signifying the new wait time in seconds. ------------------------------------------------------------------------ r815303 | rhillegas | 2009-09-15 12:53:27 +0000 (Tue, 15 Sep 2009) | 1 line DERBY-4359: Make UpgradeTrajectoryTest use the JDBC3 driver when running on Java 6 on trajectories which start before 10.2.2.0. ------------------------------------------------------------------------ r815452 | mamta | 2009-09-15 19:05:33 +0000 (Tue, 15 Sep 2009) | 10 lines DERBY-4375 Changed the datetime format from Timestamp.valueOf("0000-00-00 15:47:28.0") to Timestamp.valueOf("2007-02-23 15:47:27.544") This change in data fixed the problem with the test with weme ------------------------------------------------------------------------ r816531 | kahatlen | 2009-09-18 08:30:24 +0000 (Fri, 18 Sep 2009) | 21 lines DERBY-4372: Wrong result for simple join when index is created If the inner table in the join is restricted by an explicit or implicit IN list on an indexed column, an index range scan is performed between the smallest value and the greatest value in the IN list. If the first element in the IN list was NULL, the methods that calculated the minimum and maximum values always returned NULL, which resulted in a range scan between NULL and NULL, and no rows were found. If some other element in the IN list was NULL, it was simply ignored. This patch makes the methods always return the min or max non-NULL value, if such a value exists. Since the index scan is not supposed to return the NULL values anyway, it is safe to ignore them. The edge case where all the values are NULL still returns NULL for both min and max. This makes the index scan return no rows, which is correct because X IN (NULL, NULL) is never true, regardless of the actual value of X. ------------------------------------------------------------------------ r816536 | kahatlen | 2009-09-18 08:46:29 +0000 (Fri, 18 Sep 2009) | 39 lines DERBY-4376: Simple select runs forever A MultiProbeTableScanResultSet performes one index scan per distinct element in the IN list. Changing the start and stop positions of the underlying index scan, and moving to the next element in the IN list, happens when the scan controller is reopened. However, the reopening of the scan controller is controlled by TableScanResultSet, which skips the reopening if the current start and stop positions are guaranteed to make the scan return zero rows. Basically, if the start/stop positions are initialized with NULLs, the scan is not reopened, and we do not move to the next element of the IN list. We therefore just keep on retrying at the same position in the IN list, and the query execution is stuck forever. This patch moves all the multi-probe logic out of TableScanResultSet and into MultiProbeTableScanResultSet, and instead adds methods that MPTSRS can override where different logic is needed. In short: 1) Initialization of the start/stop keys has been factored out of TSRS.openCore()/TSRS.reopenCore() into a helper method initStartAndStopKey(). 2) MPTSRS overrides initStartAndStopKey() and updates the keys with the actual probe value. This ensures that the keys now have the correct values when TSRS.reopenCore() calls skipScan(). 3) Methods in TSRS that take a probeValue argument have been removed, since MPTSRS.initStartAndStopKey() now does all the work with retrieving the probe value and updating the keys. 4) Since the next probe value is fetched earlier now MPTSRS.reopenScanController() can no longer use the return value from getNextProbeValue() to decide whether or not it should be a no-op (it should be a no-op if the next probe value was null, which means that the probe list has been exhausted). To ensure that we don't open scans in those cases, set a flag in initStartAndStopKey() to indicate whether or not the probe list was exhausted, and override skipScan() to check that flag and return true if no new probe value was found. ------------------------------------------------------------------------ r818730 | mamta | 2009-09-25 06:08:31 +0000 (Fri, 25 Sep 2009) | 5 lines DERBY-4384 Disabling the test fixture testDynamicArgsMetaData from running in JSR169 environment because it makes a call PreparedStatement.getParameterMetaData() which is unavailable in JSR169. ------------------------------------------------------------------------ r818807 | kahatlen | 2009-09-25 10:08:54 +0000 (Fri, 25 Sep 2009) | 24 lines DERBY-3882: Expensive cursor name lookup in network server Statements executed via the network client are always given cursor names on the server, even if the user has not set a cursor name. When a statement has a cursor name, the embedded driver will check on each execution that there is no other statement in the same connection with the same cursor name and an open result set. To perform this check, the list of activations in the connection is traversed and each cursor name is compared with the cursor name of the statement to be executed. If the number of open statements in the connection is high, which is very likely if ClientConnectionPoolDataSource with the JDBC statement cache is used, traversing the list of activations and performing string comparisons may become expensive. This patch attempts to make this operation cheaper without performing a full rewrite and use a new data structure. It exploits that the most common implementations of java.lang.String cache the hash code, so calling hashCode() on the cursor names in the list will simply read the value from an int field after warm-up. By checking if the hash codes of the cursor names match first, we can avoid many of the string comparisons because we know that strings with different hash codes cannot be equal. ------------------------------------------------------------------------ r818815 | kristwaa | 2009-09-25 10:54:35 +0000 (Fri, 25 Sep 2009) | 5 lines DERBY-4386: JavaDoc warnings in several classes in impl/sql/execute/rts. Replaced the non-ASCII character with an ASCII one. Patch file: derby-4386-1a.diff ------------------------------------------------------------------------ r819006 | kahatlen | 2009-09-25 20:57:20 +0000 (Fri, 25 Sep 2009) | 7 lines DERBY-4342: SQLSTATE 38000 (NullPointerException) at inner self join and value(x1, x2...) Override ValueNode.remapColumnReferencesToExpressions() in CoalesceFunctionNode so that its arguments are properly remapped. The lack of remapping made the generated code access the wrong result set, eventually causing the NullPointerException. ------------------------------------------------------------------------ r820483 | dag | 2009-09-30 22:34:01 +0000 (Wed, 30 Sep 2009) | 9 lines DERBY-3634 Cannot use row_number() in ORDER BY clause Patch derby-3634-remove-2, which removes the old windowing code to make the patch with new code (which fully replaces the old code except for the tests) more readable. Before that code is committed, OLAPTest is temporarily removed from lang/_Suite.java so as not to make regresions fail. ------------------------------------------------------------------------ r820494 | dag | 2009-09-30 23:22:12 +0000 (Wed, 30 Sep 2009) | 4 lines DERBY-3634 Cannot use row_number() in ORDER BY clause Follow-up to derby-3634-remove-2, which neglected to delete the now empty files. ------------------------------------------------------------------------ r821711 | ole | 2009-10-05 08:02:30 +0000 (Mon, 05 Oct 2009) | 2 lines DERBY-4392 - Cleanup in CheckConstraintTest.testBuiltInFunctions(): remove test specific tables. ------------------------------------------------------------------------ r822027 | kmarsden | 2009-10-05 21:32:08 +0000 (Mon, 05 Oct 2009) | 5 lines DERBY-4149 test failure in jdbcapi.InternationalConnectSimpleDSTest fixture testSimpleDSConnect on IBM iseries - Database '?' not found. Fix the test so that it cleans up the database directory even if connection fails. This does not correct the actual test failure, just the cleanup. ------------------------------------------------------------------------ r822289 | kahatlen | 2009-10-06 14:19:07 +0000 (Tue, 06 Oct 2009) | 6 lines DERBY-4388: NullPointerException in RIGHT JOIN with NOT BETWEEN Clone the left operand when performing not-elimination in BetweenOperatorNode to prevent ColumnReferences from being shared, as they can be remapped during optimization. ------------------------------------------------------------------------ r822641 | ole | 2009-10-07 10:17:40 +0000 (Wed, 07 Oct 2009) | 3 lines DERBY-4393 - lang.SequenceTest fails w/ "Sequence 'ALPHA_SEQ' already exists." on phoneME/cvm. Do cleanup in testcases to make the testcases independent of running order. ------------------------------------------------------------------------ r823066 | ole | 2009-10-08 06:42:54 +0000 (Thu, 08 Oct 2009) | 3 lines DERBY-4188 - "XplainStatisticsTest" fails on phoneME w/ 'The exception 'java.sql.SQLException: 'RS_ID' is not a column in table or VTI 'XPLTEST.SYSXPLAIN_RESULTSETS'.' was thrown while evaluating an expression.' Do cleanup in testcases to make the testcases independent of running order. ------------------------------------------------------------------------ r823126 | kahatlen | 2009-10-08 11:09:19 +0000 (Thu, 08 Oct 2009) | 4 lines DERBY-4370: Implement JOIN ... USING syntax Made the parser accept USING and added tests for the new syntax. ------------------------------------------------------------------------ r823515 | ole | 2009-10-09 11:40:45 +0000 (Fri, 09 Oct 2009) | 3 lines DERBY-3824 - Rollback to savepoint fails on phoneME - xtestRollbackWillReleaseLaterSavepoints: "T1" row count: expected:<1> but was:<8> Make sure T1 is empty when starting test. ------------------------------------------------------------------------ r823555 | ole | 2009-10-09 14:01:32 +0000 (Fri, 09 Oct 2009) | 3 lines DERBY-3925 - testMetaDataQueryRunInSYScompilationSchema(.....upgradeTests.Changes10_4) fails on CVM/phoneME Use 'territory=en' instead of 'territory=no' if the 'no' locale is not available. ------------------------------------------------------------------------ r823659 | mamta | 2009-10-09 18:44:11 +0000 (Fri, 09 Oct 2009) | 5 lines DERBY-4326 Rather than quiting out of ClientThread for InterruptedException and IOException, we should first check if the exceptions aree raised because of server being shutdown. If yes, then we should quit out of ClientThread. Otherwise, we should log the exception and close the client socket that got the exception and go back to the infinite loop waiting for next client connection. ------------------------------------------------------------------------ r824657 | kahatlen | 2009-10-13 10:00:27 +0000 (Tue, 13 Oct 2009) | 7 lines DERBY-3024 (partial) Validation of shared plans hurts scalability Moved some code that synchronized on a GenericPreparedStatement from BaseActivation to GenericPreparedStatement for better encapsulation. This also prevented the code from synchronizing on the same object twice, which had a positive effect on the performance when the monitor was contented. ------------------------------------------------------------------------ r824694 | kahatlen | 2009-10-13 11:14:29 +0000 (Tue, 13 Oct 2009) | 5 lines DERBY-4391: NullPointerException when comparing indexed column with result from a set operation Prevent PredicateList.markReferencedColumns() from walking down to the source of a ColumnReference if it is null. ------------------------------------------------------------------------ r824966 | bpendleton | 2009-10-13 22:58:19 +0000 (Tue, 13 Oct 2009) | 17 lines DERBY-3002: Add partial support for ROLLUP variant of GROUP BY clause This change adds an initial implementation of support for the ROLLUP style of GROUP BY. Specifying ROLLUP causes Derby to perform multiple nested levels of grouping in a single pass over the input data, returning the results in a single result set. Most of the changes were made to GroupedAggregateResultSet, which is enhanced to be able to perform multiple levels of grouping in a single pass over the (sorted) input data. There are also changes to the SQL grammar to allow the new syntax to be specified, and changes to GroupByNode to pass the rollup specification through to the execution engine. Several tests were added to the OLAPTest test suite. ------------------------------------------------------------------------ r825682 | dag | 2009-10-15 22:19:19 +0000 (Thu, 15 Oct 2009) | 8 lines DERBY-4409 Make some tests run faster by using CleanDatabaseSetup + decorateSQL + rollback idiom Patch OrderByAndSortAvoidance-faster-2 which speeds up OrderByAndSortAvoidance from ca 5m to ca 1m. Note that setAutocommit(false) + rollback is not required here since the tests do not modify the created schema objects (idiom variant :) ------------------------------------------------------------------------ r825847 | ole | 2009-10-16 11:29:19 +0000 (Fri, 16 Oct 2009) | 4 lines DERBY-4409 - Make some tests run faster by using CleanDatabaseSetup + decorateSQL + rollback idiom DERBY-4409_min_diff.txt: Replacing 'System.exit(1);' with the original 'st.close();' ------------------------------------------------------------------------ r826263 | bpendleton | 2009-10-17 14:47:49 +0000 (Sat, 17 Oct 2009) | 9 lines DERBY-4283: setEmbeddedCP should use return, not exit, on error Since the setEmbeddedCP script is designed to be called from another script, or sourced from the shell, it should use 'return' rather than 'exit', to report an error. This change was contributed by Susumu Ishizuka (susumuishizuka at ieee dot org) ------------------------------------------------------------------------ r826616 | kahatlen | 2009-10-19 09:30:00 +0000 (Mon, 19 Oct 2009) | 4 lines DERBY-4407: StringIndexOutOfBoundsException in ij when result has no columns Raise a compile-time error if a query returns no columns. ------------------------------------------------------------------------ r827035 | kahatlen | 2009-10-20 11:19:37 +0000 (Tue, 20 Oct 2009) | 2 lines DERBY-4412: Make getNegation() abstract in BinaryComparisonOperatorNode and UnaryComparisonOperatorNode ------------------------------------------------------------------------ r827505 | rhillegas | 2009-10-20 14:21:05 +0000 (Tue, 20 Oct 2009) | 1 line DERBY-887: Remove implicit and explicit casting between BOOLEANs and datatypes other than BOOLEAN and strings. This conforms Derby behavior to the SQL Standard. ------------------------------------------------------------------------ r827760 | rhillegas | 2009-10-20 18:36:54 +0000 (Tue, 20 Oct 2009) | 1 line DERBY-4415: Add ability to plug customized AST printers into the compiler. ------------------------------------------------------------------------ r827793 | myrnavl | 2009-10-20 21:08:48 +0000 (Tue, 20 Oct 2009) | 3 lines DERBY-3473; write test cases to test locking during tree operation patch contributed by Anurag Shekhar (anurag dot shekhar at sun dot com) ------------------------------------------------------------------------ r828228 | myrnavl | 2009-10-21 21:49:54 +0000 (Wed, 21 Oct 2009) | 3 lines DERBY-3473 (write test cases to test locking during tree operation) - fixing a javadoc warning. ------------------------------------------------------------------------ r828950 | kahatlen | 2009-10-23 07:28:55 +0000 (Fri, 23 Oct 2009) | 4 lines DERBY-3809: Add a SHOW FUNCTIONS command to ij Patch contributed by Sylvain Leroux . ------------------------------------------------------------------------ r829022 | kahatlen | 2009-10-23 12:23:06 +0000 (Fri, 23 Oct 2009) | 5 lines DERBY-4411: Scalar subquery erroneously rejected for not returning exactly one row Make sure a ProjectRestrictNode is not considered a no-op if it only contains constant restrictions (like 1=0). ------------------------------------------------------------------------ r829034 | kahatlen | 2009-10-23 12:46:12 +0000 (Fri, 23 Oct 2009) | 7 lines DERBY-4410: NullPointerException when USING clause contains all columns in both join tables Adjust index properly when looping through the result columns and expanding *. The old code didn't expect the number of columns to decrease after the expansion and could therefore potentially skip the processing of some of the columns. ------------------------------------------------------------------------ r829041 | kahatlen | 2009-10-23 13:01:34 +0000 (Fri, 23 Oct 2009) | 5 lines DERBY-4414: NullPointerException with JOIN...USING and invalid table name in select list Fail gracefully if the table name in an asterisked identifier chain doesn't match any of the joined tables. ------------------------------------------------------------------------ r829053 | rhillegas | 2009-10-23 13:26:32 +0000 (Fri, 23 Oct 2009) | 1 line Print the Predicate.isQualifier field when displaying ASTs. ------------------------------------------------------------------------ r829078 | rhillegas | 2009-10-23 14:41:11 +0000 (Fri, 23 Oct 2009) | 1 line DERBY-4357: Add public api for restricted table functions. ------------------------------------------------------------------------ r829155 | dag | 2009-10-23 18:05:03 +0000 (Fri, 23 Oct 2009) | 12 lines DERBY-3634 Cannot use row_number() in ORDER BY clause Patch derby-3634-newimpl-4. This reimplements the ROW_NUMBER functionality after it was moved in svn 820483 and 820494. The patch makes ROW_NUMBER usable in all places it should be usable according to the standard (modulo the current Derby SQL subset). So, DERBY-3634 is also fixed with this patch. The ordering problem seen in DERBY-4069 is also fixed. More test cases have been to OLAPTest for ROW_NUMBER usage. The patch also adds some amount of generalizations to pave way for other window functionality, but this needs more work. ------------------------------------------------------------------------ r829410 | dag | 2009-10-24 16:51:33 +0000 (Sat, 24 Oct 2009) | 5 lines DERBY-4413 INSERT from SELECT DISTINCT gives assertFailure (sane), or NPE (insane) in presence of generated columns Patch DERBY-4413-2 makes sort accept columns that are null. In sane mode, it is checked that in such a case, the empty column is not part of the sort key. ------------------------------------------------------------------------ r830107 | kristwaa | 2009-10-27 09:47:54 +0000 (Tue, 27 Oct 2009) | 7 lines DERBY-4267: Investigate why Derby 10.5.1.1 is not available in the maven2 repositories. Committed final patch for the first iteration of Maven 2 POMs for generating Derby artifacts. They were used to generate artifacts for Derby 10.5.3.0. Patch file: derby-4267-2c-using_ant_task.diff (slightly modified; fixed typos) ------------------------------------------------------------------------ r830154 | kahatlen | 2009-10-27 12:42:04 +0000 (Tue, 27 Oct 2009) | 8 lines DERBY-4421: Allow visitors to process the nodes bottom-up Added the method visitChildrenFirst() to the Visitor interface to allow the visitor to specify whether they should walk the tree top-down or bottom-up. Implemented the method in all existing visitors and made it return false to preserve the current behaviour with top-down walking. ------------------------------------------------------------------------ r830545 | bpendleton | 2009-10-28 13:59:27 +0000 (Wed, 28 Oct 2009) | 12 lines DERBY-4120: derbyclient.jar is not a complete OSGi bundle OSGi bundles are JAR files with special information in their manifest to enable the OSGi class loader to provide dynamic load/unload functionality. This change adds some additional information to the manifest of derbyclient.jar to support its use as an OSGi bundle. In particular, it marks the org.apache.derby.jdbc package as exported, since that package contains the ClientDriver and ClientDataSource classes which applications are likely to use directly. ------------------------------------------------------------------------ r830897 | ole | 2009-10-29 11:20:48 +0000 (Thu, 29 Oct 2009) | 2 lines DERBY-4427 - TestConfiguration.existingServerSuite(....,portNumber) must use the supplied portNumber ------------------------------------------------------------------------ r831072 | rhillegas | 2009-10-29 19:55:56 +0000 (Thu, 29 Oct 2009) | 1 line DERBY-4357: Pass projections and restrictions through to RestrictedVTIs. ------------------------------------------------------------------------ r831244 | kahatlen | 2009-10-30 09:50:05 +0000 (Fri, 30 Oct 2009) | 6 lines DERBY-4421: Allow Visitors to process the nodes bottom-up Removed redundant calls to stopTraversal() in the acceptChildren() methods, since stopTraversal() will always be checked in QueryTreeNode.accept() before visit() is called. ------------------------------------------------------------------------ r831304 | bpendleton | 2009-10-30 14:11:29 +0000 (Fri, 30 Oct 2009) | 35 lines DERBY-4419: NPE with INSERT .. SELECT .. UNION and identity columns The following SQL was causing problems: create table t3(x int, y int generated always as identity); insert into t3(x) select * from t1 union select * from t2; During the insert, the value of column Y is not specified by the INSERT statement, and therefore Derby notices that Y's value is to be generated, and so Derby generates code to compute a value for Y when inserting each row into T3. When Derby is compiling the INSERT statement, Derby checks that the column information for the column(s) to be inserted matches the correpsonding column information for the column(s) that are selected by the SELECT clause in the INSERT statement. In the above example, Derby expands the "*" expression for each of tables T1 and T2, and verifies that the result is a single integer column, thus matching column X in T3. However, at that point in processing, the ResultColumnList also contains information about column Y, since its value is to be automatically generated. Therefore, Derby needs to skip over such columns during datatype checking; these columns are marked isGeneratedForUnmatchedColumnInInsert, so this change causes Derby to check that value. A similar behavior (DERBY-4425) occurs for columns which are generated by expressions, which is a new feature in recent versions of Derby. This change also fixes DERBY-4425. A separate commit for DERBY-4425 will add an additional regression test for that situation. ------------------------------------------------------------------------ r831319 | bpendleton | 2009-10-30 15:08:10 +0000 (Fri, 30 Oct 2009) | 8 lines DERBY-4425: NPE with INSERT .. SELECT .. UNION and generated expressions This patch adds a test which confirms that DERBY-4425 is fixed. The code change which resolved DERBY-4425 was performed as part of fixing DERBY-4419, since the same code change fixes both symptoms, so this is a test-only patch. subversion revision 831304 contains the DERBY-4419 code change. ------------------------------------------------------------------------ r831454 | rhillegas | 2009-10-30 21:04:32 +0000 (Fri, 30 Oct 2009) | 1 line DERBY-4357: Check in logic to push restrictions into VTIs when the optimizer chooses to siphon the vti into a hash table. ------------------------------------------------------------------------ r831584 | myrnavl | 2009-10-31 19:26:00 +0000 (Sat, 31 Oct 2009) | 3 lines DERBY-4151; java.net.ConnectionException in J2EEDataSourceTest with network server on IBM iseries; adding some close() calls in 3 fixtures allowed for proper processing on cleanup ------------------------------------------------------------------------ r831762 | bpendleton | 2009-11-01 21:27:27 +0000 (Sun, 01 Nov 2009) | 12 lines DERBY-3376: Test case in GrantRevokeDDLTest commented out This change adds some additional tests to GrantRevokeDDLTest. The test cases were originally contributed by Yip Ng (yipng168 at gmail dot com) The tests were originally written during buddy testing of Derby 10.2, and were committed as part of DERBY-1736, but were commented out at the time due to DERBY-1589. The test cases now pass, and so this change enables the tests as part of GrantRevokeDDLTest. ------------------------------------------------------------------------ r832096 | mamta | 2009-11-02 20:42:05 +0000 (Mon, 02 Nov 2009) | 5 lines DERBY-4357 Trivial javadoc fix ------------------------------------------------------------------------ r832364 | ole | 2009-11-03 09:43:30 +0000 (Tue, 03 Nov 2009) | 2 lines DERBY-4429 - Let StressMultiTest read Threads and Minutes to run as system property ------------------------------------------------------------------------ r832379 | kahatlen | 2009-11-03 10:31:21 +0000 (Tue, 03 Nov 2009) | 16 lines DERBY-4420: NullPointerException with INSERT INTO ... from EXCEPT/INTERSECT The failing code in ResultSetNode.setTableConstructorTypes() was meant to handle the case where the node represented a table constructor (aka VALUES clause). UnionNode already had an override to make it a no-op unless it actually represented a multi-row VALUES clause that had been rewritten to a union of single-row VALUES clauses. Since a VALUES clause is never rewritten to EXCEPT or INTERSECT, the correct handling is to make setTableConstructorTypes() a no-op in IntersectOrExceptNode. Rather than adding an empty override in IntersectOrExceptNode, the code was moved from ResultSetNode.setTableConstructorTypes() to RowResultSetNode.setTableConstructorTypes(), and the default implementation in ResultSetNode was left empty. ------------------------------------------------------------------------ r832423 | rhillegas | 2009-11-03 14:15:19 +0000 (Tue, 03 Nov 2009) | 1 line DERBY-4357: A couple more tests for restricted vtis. ------------------------------------------------------------------------ r833055 | bpendleton | 2009-11-05 15:00:04 +0000 (Thu, 05 Nov 2009) | 11 lines DERBY-4423: Convert dropTable.sql into JUnit This patch was contributed by Eranda Sooriyabandara (070468D at gmail dot com). This change replaces the dropTable.sql test suite by an equivalent JUnit test suite named DropTableTest.java. dropTable.sql is removed from the old harness suite and DropTableTest is added to the derbylang JUnit suite. There are no functional changes to the test cases. ------------------------------------------------------------------------ r833414 | ole | 2009-11-06 14:39:07 +0000 (Fri, 06 Nov 2009) | 3 lines DERBY-4438 - 'Table/View 'T1' already exists in Schema 'APP'' in lang.DropTableTest on phoneME/cvm Add some clean up to allow any execution order of tests. phoneME/cvm executes tests in a different order than other jvms, which caused problems. ------------------------------------------------------------------------ r833430 | mamta | 2009-11-06 15:08:35 +0000 (Fri, 06 Nov 2009) | 5 lines DERBY-4365 For JOIN, we were doing a no-op in the method bindUntypedNullsToResultColumns(ResultColumnList) rather than checking for untyped nulls for the left and right resultsets. The changes through this commit now checks for untyped nulls for joins. Added couple more tests (including where a CAST of NULL values should work fine). The derbyall and junit suites ran fine with the exception of known intermittent (DERBY-3757) 'ASSERT FAILED transaction table has null entry when running new StressMultiTest ------------------------------------------------------------------------ r833888 | bpendleton | 2009-11-08 15:40:34 +0000 (Sun, 08 Nov 2009) | 11 lines DERBY-4124: Remove double-checked-locking from EmbeddedDataSource.findDriver This change ensures that EmbeddedDataSource.findDriver always synchronizes its access to the 'driver' member variable. The previous code performed unsynchronized access to the field, and then, depending on the results of the unsynchronized access, performed synchronized access. This double-checked-locking idiom is unsafe and incorrect, and this change replaces it with a simpler always-synchronized access. ------------------------------------------------------------------------ r834418 | kristwaa | 2009-11-10 10:43:14 +0000 (Tue, 10 Nov 2009) | 8 lines DERBY-4432: Memory leak when attempting to boot non-existing database with the in-memory back end. Fixed memory leak happening when trying to boot non-existing databases by using a dummy store to handle operations that don't require a proper store. Added a regression test (must be run with a small Java heap). Also changed the existing test by using a discarding log writer to avoid writing a huge log file to disk (a message is logged for each failed boot). Patch file: derby-4432-1a-mem_leak_fix.diff ------------------------------------------------------------------------ r834725 | mamta | 2009-11-11 00:27:12 +0000 (Wed, 11 Nov 2009) | 5 lines DERBY-4435 collation[] object was not getting initialized and that was the cause of NPE. Fixed the problem by initializing the arrary correctly. ------------------------------------------------------------------------ r835114 | kahatlen | 2009-11-11 22:55:04 +0000 (Wed, 11 Nov 2009) | 7 lines Simplified DropTableTest - use more helper methods from BaseJDBCTestCase - changed instance variables into local variables to allow garbage collection to reclaim space when the test has completed ------------------------------------------------------------------------ r835153 | myrnavl | 2009-11-11 23:23:08 +0000 (Wed, 11 Nov 2009) | 4 lines DERBY-858 - ijConnName test output order is non-deterministic Also adjusted similarly vulnerable tests tools/ij5.sql, and junit tests derbynet.SysinfoTest and derbynet.ServerPropertiesTest ------------------------------------------------------------------------ r835286 | kristwaa | 2009-11-12 07:48:09 +0000 (Thu, 12 Nov 2009) | 7 lines DERBY-4102: Assert failure or ClassCastException in EmbedBlob when retrieving BLOB >= 32K. Made Derby store the stream content to a temporary location when it knows the stream isn't resetable. Small streams (< 32K) will be stored in memory, larger streams will be written to disk (the switch happens transparently). Added the repro as a regression test. Patch file: derby-4102-1a.diff ------------------------------------------------------------------------ r835334 | kristwaa | 2009-11-12 11:15:52 +0000 (Thu, 12 Nov 2009) | 9 lines DERBY-4436: Refactor existing in-memory back end tests and add new tests for dropping database. Added a new utility class to deal with in-memory databases (convenience methods, much like BaseJDBCTestCase and friends). Adjusted existing tests to use MemoryDbManager. Added new test DropWhileConnectingTest to study the behavior of Derby when several threads connect and/or execute queries when the database is being shut down. Written primarily to test the upcoming feature for blocking new connections while certain operations are taking place (for instance database shutdown and drop). Note: Some features have been disabled in the committed code, awaiting the drop database functionality (DERBY-4428). Some additional changes may also be required. Patch file: derby-4436-1b-inmem_test_changes.diff ------------------------------------------------------------------------ r835417 | rhillegas | 2009-11-12 15:31:23 +0000 (Thu, 12 Nov 2009) | 1 line DERBY-791: Make InsertNode visitors process the target column list. ------------------------------------------------------------------------ r836277 | kahatlen | 2009-11-14 22:32:43 +0000 (Sat, 14 Nov 2009) | 8 lines DERBY-4430: Make ij's SHOW and DESCRIBE commands more db agnostic Use database meta-data to decide whether to convert table and schema names to upper or lower case, or keep them in mixed case, in the SHOW and DESCRIBE commands. Patch contributed by Sylvain Leroux . ------------------------------------------------------------------------ r880664 | kristwaa | 2009-11-16 08:32:06 +0000 (Mon, 16 Nov 2009) | 4 lines DERBY-1459: Removed unused instance variable introduced by this issue. Patch file: n/a ------------------------------------------------------------------------ r880680 | kahatlen | 2009-11-16 09:05:22 +0000 (Mon, 16 Nov 2009) | 8 lines DERBY-3809: Add a SHOW FUNCTIONS command to ij Catch AbstractMethodError raised when the driver doesn't implement the getFunctions() method introduced in JDBC 4.0, and report that SHOW FUNCTIONS is not available for the driver. Patch contributed by Sylvain Leroux . ------------------------------------------------------------------------ r880690 | kristwaa | 2009-11-16 09:36:39 +0000 (Mon, 16 Nov 2009) | 2 lines DERBY-4436: Fixed JavaDoc error in DropWhileConnectingTest. ------------------------------------------------------------------------ r880693 | kahatlen | 2009-11-16 09:48:53 +0000 (Mon, 16 Nov 2009) | 6 lines DERBY-4416: Handle comparison of two constants as a boolean constant Added a visitor that walks the query tree bottom-up and replaces occurrences of constant expressions like 1<>1, 2<3 and 1=1 with constants TRUE or FALSE values as appropriate. ------------------------------------------------------------------------ r880791 | kahatlen | 2009-11-16 15:20:35 +0000 (Mon, 16 Nov 2009) | 2 lines DERBY-4416: Clarify javadoc ------------------------------------------------------------------------ r881074 | mamta | 2009-11-17 00:46:40 +0000 (Tue, 17 Nov 2009) | 5 lines DERBY-4402 Group by should not allow aggregates in it. We were able to detect "froup by (sum(j))" but not "group by (4+sum(j))". That's because we were not looking deep enough inside the group by column. ------------------------------------------------------------------------ r881444 | mamta | 2009-11-17 19:09:52 +0000 (Tue, 17 Nov 2009) | 5 lines DERBY-4402 Removing unnecessary if true check from earlier checkin ------------------------------------------------------------------------ r882106 | kahatlen | 2009-11-19 11:03:01 +0000 (Thu, 19 Nov 2009) | 6 lines DERBY-4380: Subqueries not allowed in ON clause Removed the check that disallowed subqueries in ON clauses. Also removed the double binding of the ON clause in JoinNode since it made the query tree inconsistent for some kinds of subqueries. ------------------------------------------------------------------------ r882129 | kristwaa | 2009-11-19 12:39:53 +0000 (Thu, 19 Nov 2009) | 2 lines Removed empty directory. ------------------------------------------------------------------------ r882569 | rhillegas | 2009-11-20 14:24:57 +0000 (Fri, 20 Nov 2009) | 1 line DERBY-651: Add CREATE/DROP TYPE. This initial increment does not allow you to create table columns or parameters whose types are used-defined. ------------------------------------------------------------------------ r882732 | dag | 2009-11-20 21:59:47 +0000 (Fri, 20 Nov 2009) | 12 lines DERBY-4450 GROUP BY in an IN-subquery inside HAVING clause whose select list is subset of group by columns, gives NPE Patch derby-4450b + Knut's simplification of the autocommit call in GrooupByTest#testDerby4450. This solves the problem seen in this issue, which was a regression from DERBY-681. The crux of the problem is that a PRN is added in the result set tree without adjusting a higher level reference so that wrong code is generated. The solution here is to reuse the result column list in the inserted PRN, so that reference from above will point correctly even after the PRN insertion (more details in JIRA). ------------------------------------------------------------------------ r883000 | bpendleton | 2009-11-21 21:40:36 +0000 (Sat, 21 Nov 2009) | 9 lines DERBY-2024: Remove JUnit utility method JDBC.vmSupportsJDBC2 Current versions of Derby require a minimum of either JDBC3 or JSR169, so we no longer need the utility method vmSupportsJDBC2. This change removes the unneeded method, and replaces the calls to it with calls to vmSupportsJDBC3. ------------------------------------------------------------------------ r883297 | kristwaa | 2009-11-23 10:30:30 +0000 (Mon, 23 Nov 2009) | 9 lines DERBY-4428 (partial): Add proper delete mechanism for in-memory databases Added the code required in the in-memory back end storage factory. Some logic is required to remove the data store from the list of databases when a database is dropped. Note that this logic isn't fully general purpose - it is partly dependent on how the monitor / StorageFactoryService works. Patch file: derby-4428-1b-in_memory_specific_delete_code.diff ------------------------------------------------------------------------ r883571 | bpendleton | 2009-11-24 01:52:07 +0000 (Tue, 24 Nov 2009) | 11 lines DERBY-3225: Include demo README information in demo/programs/readme.html This change updates the README information for the demo/programs area of the binary distribution to have additional information about the "localcal", "scores", and "vtis" demos. These demo programs were added in DERBY-1936, DERBY-1993, and DERBY-3129, respectively. This change also includes the build.xml files for the "localcal" and "scores" demos into the binary distribution. ------------------------------------------------------------------------ r884105 | kristwaa | 2009-11-25 14:02:17 +0000 (Wed, 25 Nov 2009) | 10 lines DERBY-4428 (partial): Add proper delete mechanism for in-memory databases Refactored code into getProtocolLeadIn() Changed an ASSERT, as it expected equality between something that couldn't be equal unless the default storage back end was used. It failed for the in-memory back end, and would also fail for all other back ends. This code path hasn't been enabled for other storage back ends before now (deleting the service root). Patch file: derby-4428-3b-canonical_name_handling.diff ------------------------------------------------------------------------ r884163 | dag | 2009-11-25 15:57:50 +0000 (Wed, 25 Nov 2009) | 14 lines DERBY-4451 ArrayIndexOutOfBoundsException or ASSERT FAILED when inserting generated columns out of order This patch fixes this issue as well as DERBY-4448, since they share the same underlying problem: the former way of checking for illegal override of generated columns in the presence of an explicit target column list failed to look below the top level UnionNode in a table constructor. This specialized treatment for the case of an explicit target column list has been removed for INSERT (it was shared with logic for UPDATE), so checking is now done by the code for the case of no explicit targte column list. ------------------------------------------------------------------------ r884542 | kristwaa | 2009-11-26 12:32:33 +0000 (Thu, 26 Nov 2009) | 32 lines DERBY-4428: Add proper delete mechanism for in-memory databases This patch adds the final pieces to enable the drop attribute for in-memory databases. Usage: 'jdbc:derby:memory:myDB;drop=true[;user=...;password=...]' If successful, an exception with SQL state 08006 is raised. * EmbedConnection Added parsing of the drop attribute. 'true' yields true, everything else results in false (i.e. non-boolean values are accepted and silently ignored). Added code to drop a database. Introduced XJ048, raised when drop is combined with shutdown. Added code to check for attribute conflicts (create, restore). Added utility method to put the current thread to sleep. * DatabaseContextImpl Added a comment. * Monitor Added code to disallow dropping databases not using the in-memory back end. * Attribute Added constant for the 'drop' JDBC connection URL attribute. * SQLState, messages.xml, lang.ErrorCodeTest Added two new messages: 08006 (database dropped) and XJ048 (conflicting boot attributes) * Other tests Enabled drop functionality and tests using it. Patch file: derby-4428-2b-generic_db_drop.diff ------------------------------------------------------------------------ r884970 | rhillegas | 2009-11-27 19:24:13 +0000 (Fri, 27 Nov 2009) | 1 line DERBY-651: Add ability to declare UDT columns, parameters, and return values. ------------------------------------------------------------------------ r885114 | rhillegas | 2009-11-28 17:01:17 +0000 (Sat, 28 Nov 2009) | 1 line DERBY-651: Hopefully fix an instability in UDTTest: different timestamp results on some Java platforms. ------------------------------------------------------------------------ r885118 | rhillegas | 2009-11-28 17:45:16 +0000 (Sat, 28 Nov 2009) | 1 line DERBY-651: Expand the UDT javadoc a bit. ------------------------------------------------------------------------ r885421 | kahatlen | 2009-11-30 13:32:53 +0000 (Mon, 30 Nov 2009) | 22 lines DERBY-4442: Default value and identity in an INSERT result set evaluated too early Always add a ProjectRestrictNode on top of the source result set for an insert if the source columns are not ordered the same way as the target columns, or if inserting into a subset of the columns, and the source is not a table constructor. Then the adding of default values to the source result column list happens on top of the original source result node, and not inside that node. This means that the source result is produced before the default values are added, and the generation of the defaults happens at the correct time. As a side-effect, these other issues are fixed: DERBY-3 Identity column not filled consecutively with "insert ... select distinct" DERBY-4433 Cannot insert from EXCEPT/INTERSECT when target table has more columns than the source Much of the added code is actually old code revived from the Subversion history. Before DERBY-1644, we used to put a ProjectRestrictNode on top of the source result if it was a SetOperatorNode. The code that inserted the ProjectRestrictNode was added back and changed to operate on ResultSetNode instead of SetOperatorNode. ------------------------------------------------------------------------ r885489 | rhillegas | 2009-11-30 16:49:23 +0000 (Mon, 30 Nov 2009) | 1 line DERBY-651: fix typo in javadoc. ------------------------------------------------------------------------ r885531 | rhillegas | 2009-11-30 18:40:55 +0000 (Mon, 30 Nov 2009) | 1 line DERBY-4454: Disable a test case on jsr169 because DECIMAL support is not as complete on that platform. ------------------------------------------------------------------------ r885595 | dag | 2009-11-30 22:22:15 +0000 (Mon, 30 Nov 2009) | 6 lines DERBY-4426 With generated columns, INSERT with DEFAULT inside a VALUES clause inside a UNION fails Patch derby-4426c, which fixes this issue. We ensure that DEFAULT is only used in a top level VALUES clause, conformant with the standard. ------------------------------------------------------------------------ r885659 | dag | 2009-12-01 02:49:15 +0000 (Tue, 01 Dec 2009) | 8 lines DERBY-4413 INSERT from SELECT DISTINCT gives assertFailure (sane), or NPE (insane) in presence of generated columns After DERBY-4442 went in, the exception to the ASSERT check we made in the original fix for this issue should be rolled back, so as to provide a better internal consistency check. Patch derby-4413-rollback does this. ------------------------------------------------------------------------ r885726 | kahatlen | 2009-12-01 10:55:12 +0000 (Tue, 01 Dec 2009) | 3 lines DERBY-4457: 'Column value mismatch' in 'testDistinctInsertWithGeneratedColumn(...lang.DistinctTest)' on Jvm 1.5, 1.4, phoneME. SELECT DISTINCT may return rows in different order on different JVMs. Made the test independent of the actual ordering. ------------------------------------------------------------------------ r886008 | kahatlen | 2009-12-01 23:39:53 +0000 (Tue, 01 Dec 2009) | 4 lines DERBY-4460: test_031_derby_4413 failed in nightly regression run Added an ORDER BY clause to ensure consistent ordering across different platforms. ------------------------------------------------------------------------ r886162 | bpendleton | 2009-12-02 14:49:19 +0000 (Wed, 02 Dec 2009) | 14 lines DERBY-3947: Cannot insert 994 char string into indexed column A table created with "CREATE TABLE t (x varchar(1000) primary key)" could encounter problems when a particularly long value of "x" was inserted, because the index that was automatically created to support the PRIMARY KEY constraint was created with a small page size. Such an insert statement would get an error like: "Limitation: Record of a btree secondary index cannot be updated or inserted due to lack of space on the page." This change enhances TableElementList so that, when creating an index for a constraint, it now checks the approximate length of the columns in the index, and, if they are sufficiently long, automatically chooses a larger default page size for the index conglomerate. ------------------------------------------------------------------------ r886221 | myrnavl | 2009-12-02 17:49:36 +0000 (Wed, 02 Dec 2009) | 2 lines removing jdk14 from 2 suites .properties files; the jdk14.properties and jdk14.runall were removed with revision 645716 for DERBY-3568 ------------------------------------------------------------------------ r886277 | rhillegas | 2009-12-02 19:28:32 +0000 (Wed, 02 Dec 2009) | 1 line DERBY-1030: Remove over-eager optimization which short-circuited NULL ON NULL INPUT processing when argument values came out of nested function calls. ------------------------------------------------------------------------ r886831 | dag | 2009-12-03 15:53:02 +0000 (Thu, 03 Dec 2009) | 14 lines DERBY-151 Thread termination -> XSDG after operation is 'complete' This patch catches the exception seen by RAFContainer4 readFull/Write/full when the embedding application thread sees an interrupt, and asks the user to inspect the app to find the cause. Before this patch, the symptoms were puzzling to the user, suggesting that the disk might be full. The database level error seen is XSDG9: "Derby thread received an interrupt during a disk I/O operation, please check your application for the source of the interrupt. " A new store test, Derby151Test, checks this behavior. ------------------------------------------------------------------------ r886857 | myrnavl | 2009-12-03 17:27:59 +0000 (Thu, 03 Dec 2009) | 2 lines DERBY-3829; convert derbynet/sysinfo and derbynet/sysinfo_with_properties to JUnit; addressing some final comments ------------------------------------------------------------------------ r886963 | dag | 2009-12-03 22:32:41 +0000 (Thu, 03 Dec 2009) | 4 lines DERBY-151 Thread termination -> XSDG after operation is 'complete' Follow-up patch derby-151-followup; improves the test to also use client/server. ------------------------------------------------------------------------ r887156 | kahatlen | 2009-12-04 11:02:16 +0000 (Fri, 04 Dec 2009) | 6 lines DERBY-2282: Incorrect "transitive closure" logic leads to inconsistent behavior for binary comparison predicates Made the transitive closure logic normalize predicates so that the constants are on the right-hand side (e.g., convert 3 < X to X > 3). This makes it detect more of the potential optimizations. ------------------------------------------------------------------------ r887246 | dag | 2009-12-04 16:10:04 +0000 (Fri, 04 Dec 2009) | 10 lines DERBY-4387 Infinite loop in PredicateList.joinClauseTransitiveClosure() This patch, derby-4387, fixes a corner case of the closure code in which the outer and the inner table is the same. This led to adding the same, new predicate twice to the same table, causing the infinite loop. The patch also adds a test case, which, without the fix, shows the infinite loop. ------------------------------------------------------------------------ r887305 | dag | 2009-12-04 18:10:06 +0000 (Fri, 04 Dec 2009) | 7 lines DERBY-4461 Committed fix which resets the interrupt flag in the test's application thread. Not resetting it caused issues on Windows and Linux downstream (in teardown). ------------------------------------------------------------------------ r887475 | bpendleton | 2009-12-05 01:01:23 +0000 (Sat, 05 Dec 2009) | 13 lines DERBY-4297: XplainStatisticsTest 'compilation time did not compute' This change adjusts the technique used to compute the compileTime counter in GenericStatement.prepMinion so that the following invariant will hold: parseTime + bindTime + optimizeTime + generateTime = compileTime Previously, there was a small window after generateTime had been computed but before compileTime had been recorded, during which the value of the System.currentTimeMillis clock could change, resulting in a situation where compileTime was too large, typically by 15 or 16 milliseconds. ------------------------------------------------------------------------ r888060 | rhillegas | 2009-12-07 18:03:00 +0000 (Mon, 07 Dec 2009) | 1 line DERBY-712: Small cleanup of PrivilegeNode before adding support for USAGE privilege. ------------------------------------------------------------------------ r888129 | rhillegas | 2009-12-07 20:46:09 +0000 (Mon, 07 Dec 2009) | 1 line DERBY-712: Fix problem in 888060 having to do with placement of sanity ifdefs. ------------------------------------------------------------------------ r888311 | kahatlen | 2009-12-08 10:24:20 +0000 (Tue, 08 Dec 2009) | 7 lines DERBY-4442: Default value and identity in an INSERT result set evaluated too early Back out the fix for DERBY-4419 and DERBY-4425, since the fix is no longer necessary after the changes that added a ProjectRestrictNode on top of the original insert source. The test cases for those bugs are still part of the regression test suite. ------------------------------------------------------------------------ r888385 | kristwaa | 2009-12-08 13:04:25 +0000 (Tue, 08 Dec 2009) | 10 lines DERBY-4400: Document the process of producing Maven 2 artifacts for Derby Added a utility class that obtains the Derby version from the jars that will be put into the artifacts. It also does a few sanity checks of the jars, for instance checking if they are all there. Updated the README and changed/added some comments in settings.xml. Patch file: derby-4400-1c-SetDerbyVersion.diff ------------------------------------------------------------------------ r888421 | rhillegas | 2009-12-08 14:56:08 +0000 (Tue, 08 Dec 2009) | 1 line DERBY-712: Wrap another sanity assertion in a debug conditional. ------------------------------------------------------------------------ r888754 | kahatlen | 2009-12-09 10:07:47 +0000 (Wed, 09 Dec 2009) | 2 lines DERBY-4465: Typo in error message from SQLChar ------------------------------------------------------------------------ r888811 | rhillegas | 2009-12-09 14:22:46 +0000 (Wed, 09 Dec 2009) | 1 line DERBY-651: Add dependency tracking between tables and UDTs. ------------------------------------------------------------------------ r888881 | dag | 2009-12-09 17:25:28 +0000 (Wed, 09 Dec 2009) | 7 lines DERBY-4463 JMX test in nightly test suite failed with: JMXTest:clientjava.lang.InterruptedException: Patch derby-4463.diff, which moves the clearing of the interrupted flag in Derby151Test to the teardown method of the test so it will always be performed. ------------------------------------------------------------------------ r889126 | kristwaa | 2009-12-10 07:48:33 +0000 (Thu, 10 Dec 2009) | 9 lines DERBY-4400: Document the process of producing Maven 2 artifacts for Derby Removed settings.xml, as most of the content was ignored by Maven. Updated the README with more / better instructions. Switched from scp to scpexe for deployment (uses external tools like scp/ssh). Patch file: derby-4400-2a.diff ------------------------------------------------------------------------ r889420 | kristwaa | 2009-12-10 20:47:08 +0000 (Thu, 10 Dec 2009) | 1 line Added public key Kristian Waagan. ------------------------------------------------------------------------ r889822 | rhillegas | 2009-12-11 21:32:26 +0000 (Fri, 11 Dec 2009) | 1 line DERBY-651: Wire UDT dependency dropping logic into DROP TABLE. ------------------------------------------------------------------------ r889875 | dag | 2009-12-12 01:21:07 +0000 (Sat, 12 Dec 2009) | 7 lines DERBY-4463 JMX test in nightly test suite failed with: JMXTest:clientjava.lang.InterruptedException: Patch derby-4463-2, which now resets the interrupt flag for the server threads also before the exception is propagated in the test. Followup to derby-4463 patch. ------------------------------------------------------------------------ r889876 | rhillegas | 2009-12-12 01:22:50 +0000 (Sat, 12 Dec 2009) | 1 line DERBY-651: Add dependencies of views on UDTs. ------------------------------------------------------------------------ r889975 | rhillegas | 2009-12-12 20:39:48 +0000 (Sat, 12 Dec 2009) | 1 line DERBY-4469: Allow casting of nulls and ? parameters to UDTs. ------------------------------------------------------------------------ r890115 | rhillegas | 2009-12-13 20:30:49 +0000 (Sun, 13 Dec 2009) | 1 line DERBY-651: Add dependencies of routines on UDTs. ------------------------------------------------------------------------ r890220 | kristwaa | 2009-12-14 08:29:59 +0000 (Mon, 14 Dec 2009) | 8 lines DERBY-4473: [patch] remove some allocated but unused objects Removed the allocation of a StringWriter and a StringBuffer object. Patch contributed by Dave Brosius (dbrosius at mebigfatguy dot com). Patch file: ds.diff ------------------------------------------------------------------------ r890345 | kahatlen | 2009-12-14 14:39:49 +0000 (Mon, 14 Dec 2009) | 2 lines DERBY-4476: Use helper methods from IdUtil instead of TupleDescriptor.quoteProtectName() ------------------------------------------------------------------------ r890357 | kahatlen | 2009-12-14 15:04:18 +0000 (Mon, 14 Dec 2009) | 2 lines DERBY-4044: Use helper methods from IdUtil to quote SQL identifiers in EmbedResultSet ------------------------------------------------------------------------ r890364 | kahatlen | 2009-12-14 15:09:06 +0000 (Mon, 14 Dec 2009) | 5 lines DERBY-4380: Subqueries not allowed in ON clause Removed translations of error message that was removed by the main patch for this issue. ------------------------------------------------------------------------ r890370 | kahatlen | 2009-12-14 15:35:06 +0000 (Mon, 14 Dec 2009) | 4 lines DERBY-2282: Incorrect "transitive closure" logic leads to inconsistent behavior for binary comparison predicates Extended the fix to work on parameters in addition to constants. ------------------------------------------------------------------------ r890448 | kahatlen | 2009-12-14 19:14:04 +0000 (Mon, 14 Dec 2009) | 2 lines DERBY-4297: Removed method that was no longer used after the main fix ------------------------------------------------------------------------ r890692 | kristwaa | 2009-12-15 08:47:36 +0000 (Tue, 15 Dec 2009) | 10 lines DERBY-4472: [patch] non short circuit op, could cause eof problems Replaced non-short-circuiting bitwise operator with short-circuiting boolean operator (the right side might throw exception if evaluated when the left side is false). Patch contributed by Dave Brosius (dbrosius at mebigfatguy dot com). Patch file: sc.diff ------------------------------------------------------------------------ r890789 | kristwaa | 2009-12-15 13:19:39 +0000 (Tue, 15 Dec 2009) | 3 lines DERBY-4477: Selecting / projecting a column whose value is represented by a stream more than once fails Removed unused imports. ------------------------------------------------------------------------ r891015 | dag | 2009-12-15 21:48:11 +0000 (Tue, 15 Dec 2009) | 12 lines DERBY-4405 Transformation to inner join not performed for certain three-way joins Patch derby-4405-2, which extends the rewriting optimization of outer join to inner join in the presence of a compound inner table which itself a join. The existing analysis of null intolerant predicates, which is a condition for the rewrite, failed to look into inner tables that were not a simple base table. The patch adds new test cases to verify that rewrite now takes place for such cases. ------------------------------------------------------------------------ r891350 | dag | 2009-12-16 17:56:19 +0000 (Wed, 16 Dec 2009) | 9 lines DERBY-4475 roleName isn't trimmed as expected Patch derby-4475, which contains a single line patch contributed by dbrosius at mebigfatguy dot com, plus some extra test cases (mine). The patch corrects a glitch in trimming white space around role name when provided as strings. ------------------------------------------------------------------------ r891952 | dag | 2009-12-17 22:19:08 +0000 (Thu, 17 Dec 2009) | 6 lines DERBY-4397 Allow ORDER BY in subqueries Patch derby-4397-2 which implements this functionality and also adds a new test, OrderByInSubqueries. This patch also solves DERBY-4. ------------------------------------------------------------------------ r892272 | rhillegas | 2009-12-18 15:15:02 +0000 (Fri, 18 Dec 2009) | 1 line DERBY-651: Add support for USAGE privilege on UDTs and the beginning of support for USAGE privilege on SEQUENCES. ------------------------------------------------------------------------ r892316 | dag | 2009-12-18 17:02:48 +0000 (Fri, 18 Dec 2009) | 7 lines DERBY-4463 JMX test in nightly test suite failed with: JMXTest:clientjava.lang.InterruptedException Patch derby-4463-except-non-sun-vm disables this test for non-Sun VMs. This is intended as a temporary measure until we understand why the test is not working correctly on IBM VMs. ------------------------------------------------------------------------ r892327 | rhillegas | 2009-12-18 18:10:42 +0000 (Fri, 18 Dec 2009) | 1 line DERBY-651: Address instability in UDTPermsTest caused by different string representation of timestamp 0L on different platforms. ------------------------------------------------------------------------ r892354 | rhillegas | 2009-12-18 19:21:58 +0000 (Fri, 18 Dec 2009) | 1 line DERBY-651: Add tests verifying that you can't drop a UDT or revoke USAGE on it if this would orphan a trigger. ------------------------------------------------------------------------ r892485 | rhillegas | 2009-12-19 16:37:31 +0000 (Sat, 19 Dec 2009) | 1 line DERBY-651: Prevent a schema from being dropped if it contains any UDTs. ------------------------------------------------------------------------ r892627 | rhillegas | 2009-12-20 18:00:02 +0000 (Sun, 20 Dec 2009) | 1 line DERBY-4485: Add dblook support for UDTs and for USAGE privileges on them. ------------------------------------------------------------------------ r892912 | kahatlen | 2009-12-21 18:14:47 +0000 (Mon, 21 Dec 2009) | 5 lines DERBY-3757: ASSERT FAILED transaction table has null entry when running new StressMultiTest Synchronize on the Hashtable to prevent concurrent modification while iterating over the elements. ------------------------------------------------------------------------ r893224 | rhillegas | 2009-12-22 16:35:06 +0000 (Tue, 22 Dec 2009) | 1 line DERBY-651: Adjust JDBC metadata to account for UDTs. ------------------------------------------------------------------------ r893795 | rhillegas | 2009-12-24 18:08:30 +0000 (Thu, 24 Dec 2009) | 1 line DERBY-651: Fix javadoc problem. ------------------------------------------------------------------------ r894002 | rhillegas | 2009-12-26 16:21:26 +0000 (Sat, 26 Dec 2009) | 1 line DERBY-712: Committed patch from Suran Jayathilaka, adding dummy support for NEXT VALUE FOR clause on sequences. ------------------------------------------------------------------------ r894146 | kahatlen | 2009-12-28 10:21:09 +0000 (Mon, 28 Dec 2009) | 5 lines DERBY-712: Support for sequences Added NextSequenceNode.java that was forgotten in the previous commit. Contributed by Suran Jayathilaka . ------------------------------------------------------------------------ r894607 | ole | 2009-12-30 13:08:50 +0000 (Wed, 30 Dec 2009) | 5 lines DERBY-4417 - Enable distributed replication testing - master server, slave server and test client running on different hosts. Committed DERBY-4417_P1_p1.diff. ------------------------------------------------------------------------ r895582 | ole | 2010-01-04 09:03:36 +0000 (Mon, 04 Jan 2010) | 4 lines DERBY-4417 - Enable distributed replication testing - master server, slave server and test client running on different hosts. Committed DERBY-4417_P2_p1.diff.txt ------------------------------------------------------------------------ r895666 | bpendleton | 2010-01-04 15:38:24 +0000 (Mon, 04 Jan 2010) | 8 lines DERBY-4500: setNetworkClientCP should use return, not exit, on error Since the setNetworkClientCP and setNetworkServerCP scripts are designed to be called from another script, or sourced from the shell, they should use 'return' rather than 'exit', to report an error. This change was contributed by John Storta, Jr. (js at storta dot net). ------------------------------------------------------------------------ r896146 | rhillegas | 2010-01-05 17:41:42 +0000 (Tue, 05 Jan 2010) | 3 lines DERBY-4502: Make it possible to declare views against system tables when authorization is enabled. ------------------------------------------------------------------------ r896388 | dag | 2010-01-06 11:09:29 +0000 (Wed, 06 Jan 2010) | 9 lines DERBY-4496 Column list size mismatch with ORDER BY in INSERT statement Fixed this issue which was due to missed occurences of RCL.size() that now (with ORDER BY in subqueries) need to be generalized to RCL.visibleSize to be able to ignore synthesized columns. Added a new test case for the failing repro. Also wired the OrderByInSubqueries test into the regression suite. ------------------------------------------------------------------------ r896722 | bpendleton | 2010-01-07 00:09:28 +0000 (Thu, 07 Jan 2010) | 9 lines DERBY-4110: Deleting from a table with its synonym throws an exception When building the ResultColumnList that is used to tie together the search results from the WHERE clause with the processing of the DELETE, the result columns will be bound against the exposed table name of the table named in the DELETE statement, so if the statement used a synonymTableName, then the result column list should manufacture column references which use a synonymTableName as well. ------------------------------------------------------------------------ r896883 | rhillegas | 2010-01-07 13:56:35 +0000 (Thu, 07 Jan 2010) | 1 line DERBY-712: Wire in USAGE privilege for SEQUENCEs. ------------------------------------------------------------------------ r897161 | kahatlen | 2010-01-08 10:48:11 +0000 (Fri, 08 Jan 2010) | 5 lines DERBY-4492: Localized help message from derbyrun.jar has wrong encoding Regenerated the new messages in 10.4 and 10.5 from the original UTF-8 encoded translations. ------------------------------------------------------------------------ r897190 | kahatlen | 2010-01-08 12:37:01 +0000 (Fri, 08 Jan 2010) | 5 lines DERBY-4495: Add NATURAL JOIN syntax Support NATURAL JOIN by adding an implicit USING clause with all the common columns. ------------------------------------------------------------------------ r897934 | dag | 2010-01-11 16:46:03 +0000 (Mon, 11 Jan 2010) | 7 lines DERBY-4398 Allow OFFSET/FETCH in subqueries Patch derby-4398-3, which implements this feature, and also adds test cases for this to the now renamed test OrderByAndOffsetFetchInSubqueries and OffsetFetchNextTest. ------------------------------------------------------------------------ r897937 | dag | 2010-01-11 16:53:47 +0000 (Mon, 11 Jan 2010) | 4 lines DERBY-4398 Allow OFFSET/FETCH in subqueries Missing space in a Javadoc tag. ------------------------------------------------------------------------ r897938 | myrnavl | 2010-01-11 16:54:01 +0000 (Mon, 11 Jan 2010) | 2 lines DERBY-4038; convert access.sql to junit to avoid an intermittent error on IBM zseries machines when the test is run in the encryption suite. ------------------------------------------------------------------------ r898123 | rhillegas | 2010-01-12 00:02:33 +0000 (Tue, 12 Jan 2010) | 1 line DERBY-712: Add dblook support for sequences. ------------------------------------------------------------------------ r898523 | rhillegas | 2010-01-12 21:26:25 +0000 (Tue, 12 Jan 2010) | 1 line DERBY-712: Scrub some javadoc errors. ------------------------------------------------------------------------ r898635 | mamta | 2010-01-13 03:24:52 +0000 (Wed, 13 Jan 2010) | 16 lines DERBY-4191 Require minimum select privilege from the tables in the SELECT sql if no column is selected from the table by the user eg select count(*) from root.t; select 1 from root.t; For the query above, Derby was letting the user execute the select even if the user had no select privilege available on root.t With this fix, Derby will check if there is atleast one column on which the user has select privilege available to it or if the user select privilege at the table level. If yes, only then the user will be able to select from another user's table. select myTable.a from myTable, admin.privateTable for the query above, since no column is selected specifically from admin.privateTable, Derby will now see if there is table level select privilege or atleast one column level select privilege available on admin.privatTable One other problem scenario was update ruth.t_ruth set a = ( select max(c) from ruth.v_ruth ); For the query above, prior to fix for DERBY-4191, we were not looking for select privilege for the subquery. That has also been fixed with fix for DERBY-4191 All the existing tests passed with no regression. Added few tests for the fixes involved in this jira. ------------------------------------------------------------------------ r898638 | myrnavl | 2010-01-13 03:41:57 +0000 (Wed, 13 Jan 2010) | 3 lines DERBY-4514 - j2ME test failures relating to RuntimeStatisticsParser; now using org.apache.derbyTesting.junit.Utilities.split for JSR169 ------------------------------------------------------------------------ r899576 | kristwaa | 2010-01-15 09:49:19 +0000 (Fri, 15 Jan 2010) | 2 lines Removed unused method SQLChar.readCharacterLength ------------------------------------------------------------------------ r899588 | dag | 2010-01-15 10:53:22 +0000 (Fri, 15 Jan 2010) | 11 lines DERBY-4397 Allow ORDER BY in subqueries Patch derby-4397-sortavoidance-a, which makes sort avoidance work in the simple case of a subquery with order by on a base table which has a suitable index. The fix avoids the result columns assumed by the order by list from changing after they have been bound, to include a level of VCNs, which is not correct (this happened as a side effect of copying result columns from the subquery up to the FromSubquery node). A new test case the verify sort avoidance in this case has been added. ------------------------------------------------------------------------ r899733 | rhillegas | 2010-01-15 17:54:20 +0000 (Fri, 15 Jan 2010) | 1 line DERBY-4491: Correct the network metadata for UDTs and make it possible to pass UDT values across the network. ------------------------------------------------------------------------ r899819 | rhillegas | 2010-01-15 21:32:14 +0000 (Fri, 15 Jan 2010) | 1 line DERBY-4491: Fix sealing violation which kills the AssertFailureTest on runs against insane jar files. ------------------------------------------------------------------------ r900714 | kahatlen | 2010-01-19 09:57:38 +0000 (Tue, 19 Jan 2010) | 8 lines DERBY-4512: Avoid unnecessary lookup in transaction table when adding transaction The transaction table should not contain a transaction with the same id as the one that's added with TransactionTable.add(). Therefore, put the new transaction in the table unconditionally instead of checking first whether there is an existing entry to reuse. This saves one lookup in the transaction table per transaction. ------------------------------------------------------------------------ r901100 | kahatlen | 2010-01-20 08:27:55 +0000 (Wed, 20 Jan 2010) | 6 lines DERBY-3092 (partial) Use the Map interface to access TransactionTable.trans This change will make it easier to replace the Hashtable with a ConcurrentHashMap on platforms that support java.util.concurrent, since we don't use Hashtable-specific methods anymore. ------------------------------------------------------------------------ r901142 | kristwaa | 2010-01-20 11:33:13 +0000 (Wed, 20 Jan 2010) | 2 lines Removed unused variable (caused Clover to fail when instrumenting class). ------------------------------------------------------------------------ r901162 | kahatlen | 2010-01-20 12:27:40 +0000 (Wed, 20 Jan 2010) | 3 lines DERBY-3092 (partial) Add back optimization that was mistakenly removed by the previous patch ------------------------------------------------------------------------ r901165 | kristwaa | 2010-01-20 12:34:26 +0000 (Wed, 20 Jan 2010) | 9 lines DERBY-4519: Infinite loop in StreamFileContainer.writeColumn Fixed two issues; - swapped offset and length arguments (removed them for the read-case) - bounded the transfer buffer size, becuause InputStream.available() can return both zero and a very high value. Size bounded by [64, 8192]. Patch file: derby-4519-2a-infinite_loop_fixes.diff ------------------------------------------------------------------------ r901219 | rhillegas | 2010-01-20 14:42:57 +0000 (Wed, 20 Jan 2010) | 1 line DERBY-4491: Fix javadoc error introduced by subversion revision 899733. ------------------------------------------------------------------------ r901277 | rhillegas | 2010-01-20 16:59:52 +0000 (Wed, 20 Jan 2010) | 1 line DERBY-4491: Disable test of parameter metadata on small platforms since PreparedStatement.getParameterMetaData() is not available on JSR-169 vms. ------------------------------------------------------------------------ r901420 | rhillegas | 2010-01-20 22:58:11 +0000 (Wed, 20 Jan 2010) | 1 line DERBY-4491: Bracket an assertion with a SanityManager.DEBUG check. ------------------------------------------------------------------------ r901597 | kahatlen | 2010-01-21 08:43:14 +0000 (Thu, 21 Jan 2010) | 8 lines DERBY-3092 (partial) Don't expose TransactionTable's Hashtable Added a visitEntries() method that could be used instead of getTableForXA() to inspect the contents of the transaction table. Now, the Hashtable is only visible to the TransactionTable class, which will make it easier to replace it with another Map implementation later. ------------------------------------------------------------------------ r901642 | kristwaa | 2010-01-21 10:36:58 +0000 (Thu, 21 Jan 2010) | 8 lines DERBY-4520 (partial): Refactor and extend data type cloning facilities RowLocation doesn't need to be cloned using CloneableObject.cloneObject, clone using DataValueDescriptor.getClone instead. This is the first step in the process to remove CloneableObject completely. Patch file: derby-4520-1a-RowLocation_cloning.diff ------------------------------------------------------------------------ r901648 | kristwaa | 2010-01-21 10:52:25 +0000 (Thu, 21 Jan 2010) | 8 lines DERBY-4515: Document and clarify the use of DataValueDescriptor.setValue(InputStream,int) Clarified and improved documentation for the setValue method. Added a constant to represent unknown length. Rewrote code in EmbedPreparedStatement to remove an unnecessary variable. Patch file: derby-4515-1a-setValue_stream_clarification.diff ------------------------------------------------------------------------ r901760 | kristwaa | 2010-01-21 16:23:21 +0000 (Thu, 21 Jan 2010) | 7 lines DERBY-4455: Prepared statement failure with CLOB: Stream has already been read and end-of-file reached and cannot be re-used. Don't materialize streams when transferring data values from one statement to another. The code causing the bug was/is only invoked when using XA. Patch file: derby-4455-1c.diff ------------------------------------------------------------------------ r902050 | kristwaa | 2010-01-22 10:31:27 +0000 (Fri, 22 Jan 2010) | 10 lines DERBY-4520 (partial): Refactor and extend data type cloning facilities Moved the method cloneObject into DataValueDescriptor, removed the CloneableObject interface. Changed cloneObject return type from Object to DataValueDescriptor. Removed some unused imports. Rewrote a few comments. Patch file: derby-4520-2a-remove_CloneableObject_iface.diff ------------------------------------------------------------------------ r902147 | kahatlen | 2010-01-22 16:29:56 +0000 (Fri, 22 Jan 2010) | 7 lines DERBY-3024 (partial) Validation of shared plans hurts scalability Removed an unneeded call to rePrepare() in EmbedStatement.executeStatement(). The call is not needed because rePrepare() will be called again in GenericPreparedStatement.execute(), so the plan will be reprepared anyways before it's executed, if it has become stale. ------------------------------------------------------------------------ r902288 | kahatlen | 2010-01-22 21:43:24 +0000 (Fri, 22 Jan 2010) | 6 lines DERBY-4524: Incorrect DROP FUNCTION logic in AccessTest's tearDown() method Removed the tearDown() method since it did not do anything (DROP FUNCTION would always fail with no connection) and was not needed (a CleanDatabaseTestSetup decorator already took care of dropping the function). ------------------------------------------------------------------------ r902366 | kahatlen | 2010-01-23 08:48:14 +0000 (Sat, 23 Jan 2010) | 3 lines DERBY-4523: store.AccessTest fails on phoneME Make sure tables are dropped between test cases. ------------------------------------------------------------------------ r902742 | kristwaa | 2010-01-25 09:21:53 +0000 (Mon, 25 Jan 2010) | 10 lines DERBY-4520 (partial): Refactor and extend data type cloning facilities Added functionality to clone store streams (without materialization). Delayed filling the byte buffer in OverflowInputStream constructor and in OverflowInputStream.resetStream. Orginal patch contributed by Mike Matrigali (mikem_app at sbcglobal dot net) as part of DERBY-3650, modified by Kristian Waagan (Kristian dot Waagan at Sun dot com). Patch file: derby-4520-3b-CloneableStream_and_delayed_fill.diff ------------------------------------------------------------------------ r902798 | kristwaa | 2010-01-25 12:49:37 +0000 (Mon, 25 Jan 2010) | 6 lines DERBY-4520: Refactor and extend data type cloning facilities Removed unhelpful assert statements. Added @see tags to copy JavaDoc from the interfaces. Patch file: n/a ------------------------------------------------------------------------ r902857 | dag | 2010-01-25 16:24:35 +0000 (Mon, 25 Jan 2010) | 12 lines derby-4477 Selecting / projecting a column whose value is represented by a stream more than once fails Patch derby-4477-partial-2. This patch clones streamable columns in occurence 2..n in ProjectRestrictResultset if they occur more than once in the select list. It also adds the three repro test cases from DERBY-3645, DERBY-3646 and DERBY-2349 to BLOBTest. The patch is not complete and needs to be revisted when cloning of store streams is implemented. Currenly the cloning occurs via materialization and this will exhaust memory when lobs are large. See FIXME in ProjectRestrictResultSet. ------------------------------------------------------------------------ r903108 | kahatlen | 2010-01-26 07:33:52 +0000 (Tue, 26 Jan 2010) | 6 lines DERBY-4488: Nullpointer when performing INSERT INTO Moved setting of the statement context's topResultSet to NoRowsResultSetImpl.setup() to ensure that it's performed early enough for all sub-classes (and for InsertResultSet in particular). ------------------------------------------------------------------------ r903150 | kristwaa | 2010-01-26 09:58:50 +0000 (Tue, 26 Jan 2010) | 8 lines DERBY-4520: Refactor and extend data type cloning facilities Renamed cloneObject to cloneHolder. Restructured SQLBinary.cloneHolder (behavior unchanged). Brushed up some comments. Patch file: derby-4520-4a-cloneObject_renamed_cloneHolder.diff ------------------------------------------------------------------------ r903200 | kahatlen | 2010-01-26 12:40:44 +0000 (Tue, 26 Jan 2010) | 5 lines DERBY-3092 (partial) Use visitors instead of iterators to scan the transaction table in the methods that synchronize explicitly on the Hashtable trans. This limits the usage of explicit synchronization on trans to one single method, TransactionTable.visitEntries(). ------------------------------------------------------------------------ r904235 | myrnavl | 2010-01-28 19:48:05 +0000 (Thu, 28 Jan 2010) | 2 lines DERBY-4527; create org.apache.derbyTesting.functionTests.harness.ibm17 class ------------------------------------------------------------------------ r904483 | kahatlen | 2010-01-29 12:52:23 +0000 (Fri, 29 Jan 2010) | 5 lines DERBY-4529: BlobMemTest and ClobMemTest don't call super.tearDown() Removed the unneeded tearDown() methods so that the tests inherit BaseJDBCTestCase.tearDown() instead. ------------------------------------------------------------------------ r904538 | dag | 2010-01-29 16:10:56 +0000 (Fri, 29 Jan 2010) | 11 lines DERBY-4477 Selecting / projecting a column whose value is represented by a stream more than once fails Patch derby-4477-lowmem-2, which adds test cases to check that lobs are not materialized when large, for the use cases covered by this issue. The test cases are added to the lowmem suite, which is not not part of the regular suites.All. This commit is preparatory in that the lobs are still small, so these changes should be revisited to change their sizes when the cloning handles materialization properly, cf DERBY-3650 and DERBY-4520. ------------------------------------------------------------------------ r905224 | kahatlen | 2010-02-01 09:42:18 +0000 (Mon, 01 Feb 2010) | 5 lines DERBY-3852: J2EEDataSourceTest may ignore some failures Most of this issue was fixed as part of DERBY-3853. This commit addresses the remaining problem by calling fail() when execution reaches a point that it was not intended to reach. ------------------------------------------------------------------------ r905289 | rhillegas | 2010-02-01 14:38:12 +0000 (Mon, 01 Feb 2010) | 1 line DERBY-4484: Add export/import of UDT columns to/from the same file which holds the other columns. ------------------------------------------------------------------------ r905369 | rhillegas | 2010-02-01 18:59:43 +0000 (Mon, 01 Feb 2010) | 1 line DERBY-712: Committed Suran's patch createseq_args_bind_b.diff, making it possible to create sequences with different datatypes, boundaries, steps, and cycling. ------------------------------------------------------------------------ r905472 | rhillegas | 2010-02-02 00:21:42 +0000 (Tue, 02 Feb 2010) | 1 line DERBY-4484: Improve error handling during UDT instantiation and import. ------------------------------------------------------------------------ r905621 | dag | 2010-02-02 13:17:43 +0000 (Tue, 02 Feb 2010) | 6 lines DERBY-4477 Selecting / projecting a column whose value is represented by a stream more than once fails Follow-up patch for an intermittet bug caused by previous insert, due to newly filed DERBY-4531: derby-4477-lowmem-followup. ------------------------------------------------------------------------ r906595 | kristwaa | 2010-02-04 18:21:07 +0000 (Thu, 04 Feb 2010) | 11 lines DERBY-4520 (partial): Refactor and extend data type cloning facilities Renamed getClone to cloneValue and added the boolean argument 'forceMaterialization', whose default has been set to false. Removed special handling of RowLocation in ValueRow.getNewNullRow. Made constructors used for cloning private in SQLSmallInt and SQLTinyInt. Added argument in constructor used for cloning in XML (whether to force materialization or not). Removed some unused imports. Note that the actual cloning-methods haven't been changed yet (expect changes in SQLBlob and SQLClob in a follow-up patch). Patch file: derby-4520-5a-getClone_renamed_cloneValue.diff ------------------------------------------------------------------------ r906609 | kristwaa | 2010-02-04 18:56:22 +0000 (Thu, 04 Feb 2010) | 7 lines DERBY-4520: Refactor and extend data type cloning facilities Removed unused imports in the data-type trees starting with SQLBinary and SQLChar. Patch file: derby-4520-6a-unused_imports.diff ------------------------------------------------------------------------ r907097 | rhillegas | 2010-02-05 21:19:23 +0000 (Fri, 05 Feb 2010) | 1 line DERBY-651: Make it possible to have UDT columns in table functions. ------------------------------------------------------------------------ r907509 | rhillegas | 2010-02-07 22:52:38 +0000 (Sun, 07 Feb 2010) | 1 line DERBY-651: Add tests for big UDTs. ------------------------------------------------------------------------ r907654 | rhillegas | 2010-02-08 13:51:35 +0000 (Mon, 08 Feb 2010) | 1 line DERBY-712: Wire in cacheable sequence generation, making the NEXT VALUE FOR clause behave as expected. ------------------------------------------------------------------------ r907668 | rhillegas | 2010-02-08 14:28:57 +0000 (Mon, 08 Feb 2010) | 1 line DERBY-651: Add test to verify that Derby still does not support SQLData types. ------------------------------------------------------------------------ r907728 | rhillegas | 2010-02-08 17:10:43 +0000 (Mon, 08 Feb 2010) | 1 line DERBY-712: Fix javadoc error. ------------------------------------------------------------------------ r907732 | kristwaa | 2010-02-08 17:24:12 +0000 (Mon, 08 Feb 2010) | 18 lines DERBY-4520: Refactor and extend data type cloning facilities Changed the cloneValue methods for BLOB and CLOB. Noteworthy information: - made BasicSortObserver force materialization when cloning (required because it closes the underlying source result set). - java.sql.[BC]lob values are assumed to be "clone-safe" (i.e. more than one SQL[BC]lob object can reference them). - in some cases invoking cloneValue(false) will result in a stream being matieralized, because we don't know how to clone the stream otherwise. A better future solution might be to use temporary disk storage instead. - there's a TODO for implementing an optimization for small streams, where Derby could choose to materialize the streams if the length is known. This is only important for a few use-cases, but it avoids decoding the stream data more than once. Patch file: derby-4520-7b-lob_clonevalue_methods.diff ------------------------------------------------------------------------ r908418 | kristwaa | 2010-02-10 09:46:05 +0000 (Wed, 10 Feb 2010) | 9 lines DERBY-4543: CLOB values incorrectly stored on disk using the old header format Aadded missing !-operator in EmbedPreparedStatement. Replaced DD_VERSION_CURRENT with DD_VERSION_DERBY_10_5. Renamed several methods and variables (stop using soft-upgrade mode term, use stream header format instead). Patch file: derby-4543-1a-clob_hdr_format_fix.diff ------------------------------------------------------------------------ r908473 | kahatlen | 2010-02-10 12:42:57 +0000 (Wed, 10 Feb 2010) | 6 lines DERBY-3092: Use java.util.concurrent in TransactionTable to improve scalability Dynamically load a Hashtable or a ConcurrentHashMap, depending on what's available on the platform, to allow as much concurrency as possible in the transaction table. ------------------------------------------------------------------------ r908501 | kahatlen | 2010-02-10 13:46:31 +0000 (Wed, 10 Feb 2010) | 1 line Fixed javadoc warning (empty @return tag) ------------------------------------------------------------------------ r908563 | dag | 2010-02-10 16:12:40 +0000 (Wed, 10 Feb 2010) | 17 lines DERBY-4477 Selecting / projecting a column whose value is represented by a stream more than once fails Patch derby-4477-useCloning: Uses the new stream cloning referred to earlier as a coming follow-up for this issue: derby-4477-useCloning. It also bumps the lob size in the lowmem suite's test cases added for this issue in ClobMemTest and BlobMemTest, which will run out of memory without this cloning used by this patch. Note: The "length-materialization optimization" (code that was commented out earlier, and removed by the latest patch) hasn't been implemented yet. However, we think it is better placed inside the various cloneValue-methods and hope to get to it at a later time. ------------------------------------------------------------------------ r908586 | kristwaa | 2010-02-10 16:59:57 +0000 (Wed, 10 Feb 2010) | 10 lines DERBY-2992: getBinaryStream returns incorrect result (truncated value) if underlying blob is deleted Made OverflowInputStream throw exception if the underlying value is deleted/modified. (i.e. if the next overflow page cannot be found/accessed). Added a new error message (D015). Incorporated repro (originally contributed by Kathey Marsden, kmarsdenderby at sbcglobal dot net). Patch file: derby-2992-1b-throw_exception_on_eof.diff ------------------------------------------------------------------------ r908627 | rhillegas | 2010-02-10 18:49:57 +0000 (Wed, 10 Feb 2010) | 1 line DERBY-4513: Prevent NEXT VALUE FOR expressions from being used in various contexts. ------------------------------------------------------------------------ r908635 | rhillegas | 2010-02-10 19:11:57 +0000 (Wed, 10 Feb 2010) | 1 line DERBY-4470: Forbid ordering operations on UDTs. ------------------------------------------------------------------------ r909123 | rhillegas | 2010-02-11 19:53:34 +0000 (Thu, 11 Feb 2010) | 1 line DERBY-4545: Fix UDTTest to run cleanly on small devices. ------------------------------------------------------------------------ r909176 | bpendleton | 2010-02-11 23:34:35 +0000 (Thu, 11 Feb 2010) | 19 lines DERBY-4479: RENAME TABLE needs to invalidate any cached CREATE TABLE statement The problem involves a missing dependency between the CREATE TABLE statement and the table that it is creating. For other types of statements, the dependency of the statement on the table is generally registered during compilation. However, this isn't quite so easy with the CREATE TABLE statement, because the table descriptor doesn't exist during compilation, since the table isn't created until the statement is actually executed. This change registers the dependency at execution time. At the very end of CreateTableConstantAction.executeConstantAction, there is some new code added to register a dependency from the CREATE TABLE statement to the table we have just finished creating. A new test is also added. ------------------------------------------------------------------------ r909190 | rhillegas | 2010-02-12 00:40:06 +0000 (Fri, 12 Feb 2010) | 1 line DERBY-4469: Forbid implicit and explicit casts to and from UDTs. ------------------------------------------------------------------------ r909415 | rhillegas | 2010-02-12 14:09:49 +0000 (Fri, 12 Feb 2010) | 1 line DERBY-4499: Fix bug which prevented us from using UDTs as output args in database procedures. ------------------------------------------------------------------------ r909633 | rhillegas | 2010-02-12 22:07:23 +0000 (Fri, 12 Feb 2010) | 1 line DERBY-4539: Make it possible to state the optional clauses of the CREATE SEQUENCE statement in an order. ------------------------------------------------------------------------ r910200 | kristwaa | 2010-02-15 11:00:35 +0000 (Mon, 15 Feb 2010) | 10 lines DERBY-4542: Avoid materialization where possible when cloning CollatorSQLClob Made CollatorSQLClob able to clone itself without materializing the value (doesn't apply in all cases, sometimes we are forced to materialize because it is requested to do so, or because we don't know how to clone the underlying value). Patch file: derby-4542-1a-avoid_materialization.diff ------------------------------------------------------------------------ r910255 | rhillegas | 2010-02-15 16:37:17 +0000 (Mon, 15 Feb 2010) | 1 line DERBY-712: Only allow RESTRICTed drops of sequences. ------------------------------------------------------------------------ r910481 | kristwaa | 2010-02-16 11:28:19 +0000 (Tue, 16 Feb 2010) | 9 lines DERBY-3844: ASSERT failure in BasePage.unlatch() when running LobStreamsTest Rewrote test to only call getX once per column per row, as calling for instance getBlob twice on a given column on the same row will be disallowed. Also removed some unused code. Patch file: derby-3844-2a-jdbcdriver_test_rewrite.diff ------------------------------------------------------------------------ r910498 | kristwaa | 2010-02-16 12:24:54 +0000 (Tue, 16 Feb 2010) | 2 lines Dummy commit to trigger CI build (fixed a typo). ------------------------------------------------------------------------ r910511 | kristwaa | 2010-02-16 13:13:14 +0000 (Tue, 16 Feb 2010) | 2 lines DERBY-3844: Fixed JavaDoc warning. ------------------------------------------------------------------------ r911231 | myrnavl | 2010-02-18 00:01:36 +0000 (Thu, 18 Feb 2010) | 3 lines DERBY-4548; making the top of the tree an alternate/additional location for ant.properties ------------------------------------------------------------------------ r911315 | kahatlen | 2010-02-18 10:30:26 +0000 (Thu, 18 Feb 2010) | 7 lines DERBY-4549: NPE in JBitSet SubqueryNode did not preprocess its left operand, so some fields were not initialized when the optimizer looked at it. This patch makes SubqueryNode.preprocess() call preprocess() recursively on the left operand. ------------------------------------------------------------------------ r911768 | kristwaa | 2010-02-19 10:02:41 +0000 (Fri, 19 Feb 2010) | 5 lines DERBY-4400: Document the process of producing Maven 2 artifacts for Derby. Minor formatting changes. Fixed some typos. ------------------------------------------------------------------------ r911793 | kristwaa | 2010-02-19 12:15:16 +0000 (Fri, 19 Feb 2010) | 9 lines DERBY-3844: ASSERT failure in BasePage.unlatch() when running LobStreamsTest Disallows calling getBlob or getClob more than once on a given LOB column (on the same result set row). See release note for details, this change may break existing applications. Patch file: derby-3844-1c-disallow_multiple_accesses.diff ------------------------------------------------------------------------ r911949 | kahatlen | 2010-02-19 19:28:28 +0000 (Fri, 19 Feb 2010) | 4 lines DERBY-4554: Remove lang/scrollCursors1.sql The test has been converted to JUnit and is no longer in use. ------------------------------------------------------------------------ r911952 | kahatlen | 2010-02-19 19:36:36 +0000 (Fri, 19 Feb 2010) | 4 lines DERBY-4553: In ij GETCURRENTROWNUMBER directly writes its result to output Patch contributed by Sylvain Leroux ------------------------------------------------------------------------ r911955 | bpendleton | 2010-02-19 19:55:32 +0000 (Fri, 19 Feb 2010) | 20 lines DERBY-3729: Improve client-side messages when file or disk fills up. This change is intended to improve the error messages which are returned by the Derby client JDBC calls when error message XSDG1 occurs. This particular error message may arise when the disk fills up, or it may arise due to a quote or filesystem limit. For example, on FAT32 file systems, an individual file is limited to 4GB and when that limit is reached, error XSDG1 occurs. Delivering error information back to the client in this case is tricky, because the XSDG1 error is a database-severity message, meaning that the database is closed, the connection is closed, and the session is ended, so the information must be send to the client as part of the Command Check Response Message itself. This change: adds additional text to the XSDG1 and J123 messages, and enhances the client's handling of the CMDCHKRM to look for possible error information in the SQLCARD. ------------------------------------------------------------------------ r911999 | bpendleton | 2010-02-19 21:52:31 +0000 (Fri, 19 Feb 2010) | 14 lines DERBY-4341: Building with a different CLASSPATH causes runmessagecheck to fail. This change was contributed by John Storta Jr. (js at storta dot net) The problem was that running the MessageBundleTest as an Ant task made it hard for us to control the exact CLASSPATH that was used, because Ant tasks always are affected by the overall CLASSPATH that is being used for the Ant process. The change converts MessageBundleTest from an Ant task to a standalone Java program, and changes the runmessagecheck target in the top-level build.xml to run MessageBundleTest in a separate JVM with fork=true so that the CLASSPATH setting can be exactly controlled. ------------------------------------------------------------------------ r915129 | myrnavl | 2010-02-23 01:38:51 +0000 (Tue, 23 Feb 2010) | 2 lines DERBY-4548; changing the name of the alternative properties file to local.properties; making it the first in build.xml so properties defined in it have precedence. ------------------------------------------------------------------------ r915177 | mamta | 2010-02-23 04:50:46 +0000 (Tue, 23 Feb 2010) | 7 lines DERBY-1482 We do not have many tests for triggers on tables with LOB columns. Checking in few tests with this checkin. The tests are disabled at this point because they run out of memory when run with limited heap because of streaming of the LOB columns whether they are needed or not. The test is part of lowmem suite which will automatically take care of running the tests with limited heap which is 16M for that suite at this point. More information on the test can be found in the comments in the test and also in the jira. ------------------------------------------------------------------------ r915310 | kristwaa | 2010-02-23 12:43:23 +0000 (Tue, 23 Feb 2010) | 2 lines DERBY-1482: Fixed JavaDoc warnings (introduced in r915177). ------------------------------------------------------------------------ r915733 | kristwaa | 2010-02-24 10:05:35 +0000 (Wed, 24 Feb 2010) | 7 lines DERBY-3507: startNetworkServer and stopNetworkServer don't pass arguments Made scripts pass command line arguments also when the -noclasspath option is specified. This is a Windows only fix. Patch file: derby-3507-2a-fix_for_runnoclasspath.diff ------------------------------------------------------------------------ r916014 | rhillegas | 2010-02-24 22:39:49 +0000 (Wed, 24 Feb 2010) | 1 line DERBY-4550: Commit Sylvain Leroux's patch which adds qualified identifiers to ij. ------------------------------------------------------------------------ r916075 | dag | 2010-02-25 01:13:57 +0000 (Thu, 25 Feb 2010) | 10 lines DERBY-4562 Compilation of prepared statement results in Syntax Error Patch derby-4562c. This fixes a problem with the parser logic to determine if OFFSET is used as an identifer or is the start of an offset clause. (Derby does not make OFFSET a reserved word for compatibility reasons.) The patch also adds new test cases. ------------------------------------------------------------------------ r916261 | kristwaa | 2010-02-25 12:15:58 +0000 (Thu, 25 Feb 2010) | 22 lines DERBY-4563: Avoid unnecessary use of getStream and getStreamWithDescriptor Introduced the method DataValueDescriptor.hasStream() - use this method to check if the data value is, or will be, represented by a stream. Made DVD.getStream() and SDV.getStreamWithDescriptor() fail if hasStream returns false (maybe this check can be removed, or made cheaper, in the near future?). The reasoning behind the change is to make it easier to debug and investigate issues concerned with incorrect stream state. If the stream is "leaked" from the DVD, it is because it will be used to access the data. It will also be easier to guarantee that the stream has a certain state, for instance that it is positioned just before the first byte of user data when returned from the DVD. It may be expensive to re-position the stream, which is why getStream() != null isn't the best way to check if the value is a stream. The need to re-position is again caused by missing (or non-exposed) functionality in the stream coming from store. In most cases the stream should only be obtained once from a given DVD, but there are currently exceptions to the rule. Patch file: derby-4563-1b-dvd_hasStream.diff ------------------------------------------------------------------------ r916437 | myrnavl | 2010-02-25 20:21:31 +0000 (Thu, 25 Feb 2010) | 3 lines DERBY-4569; ij2.sql fails with cdc foundation (from weme6.2); updated master to match changes of revision 916014 for DERBY-4550 ------------------------------------------------------------------------ r916640 | kristwaa | 2010-02-26 10:33:29 +0000 (Fri, 26 Feb 2010) | 8 lines DERBY-4563: Avoid unnecessary use of getStream and getStreamWithDescriptor Replaced use of StreamStorable.returnStream in the JDBC layer with DataValueDescriptor.getStream. Patch file: derby-4563-2a-replace_streamstorable_in_jdbclayer.diff ------------------------------------------------------------------------ r916897 | kmarsden | 2010-02-27 02:47:33 +0000 (Sat, 27 Feb 2010) | 2 lines DERBY-4564 Replication tests do not pick up derby.tests.networkServerStartTimeout setting ------------------------------------------------------------------------ r917466 | kahatlen | 2010-03-01 10:56:12 +0000 (Mon, 01 Mar 2010) | 7 lines DERBY-4570: test failure in ij7 with cdc foundation profile (ibm's weme6.2) Disable the test cases that require java.sql.Driver when running in an environment that only supports the JSR-169 subset of JDBC. Patch contributed by Sylvain Leroux . ------------------------------------------------------------------------ r917771 | mamta | 2010-03-01 22:46:40 +0000 (Mon, 01 Mar 2010) | 9 lines DERBY-4538 Committing patch DERBY4538_NoReferencingClause_diff_v2.txt attached to jira DERBY-4538(removed redundant ; as pointed by Knut). This changes the UPDATE and DELETE statement codes to be little bit smarter when they decide what columns should be part of the read map. Currently, as soon as these 2 nodes find that there are relevant triggers on the table, we decide to read all the columns from the table. With the patch, we will check if all the relevant tiggers have missing REFERENCING clause. If yes, then do not need to read all the columns. Just the columns needed by the UPDATE/DELETE statement. This will get rid of OOM we run into when the table has LOB columns BUT only in the case when the UPDATE/DELETE statement does not reference the LOB column and all the triggers defined on them have missing REFERENCING clause. I have enabled the TriggerTests in lowmem suite with the missing REFERENCING clause cases enabled. For all the other test cases, I simply return from those test cases without actually testing it because we do not have fix for those cases yet. The lowmem suite does not get run regularly and when it is run, as the name indicates, it runs with limited heap. I wanted us to be able to run these tests with default heap as well. To achieve that, I am including the TriggerTests in lang suite too. The INSERT table with INSERT triggers work fine already without my changes as long as the INSERT statement does not reference the LOB column. ------------------------------------------------------------------------ r918112 | kristwaa | 2010-03-02 17:08:07 +0000 (Tue, 02 Mar 2010) | 6 lines DERBY-4491: The network client changes UDTs into Strings and returns their type as LONGVARBINARY. Made NetDatabaseMetaData.serverSupportsUDTs return the correct value. Patch file: derby-4491-02-aa-supportsUDTs.diff ------------------------------------------------------------------------ r918152 | bpendleton | 2010-03-02 19:03:25 +0000 (Tue, 02 Mar 2010) | 9 lines DERBY-4574: derby.jar needs Bundle-ManifestVersion header for OSGi The derby.jar has all the bundle metadata you would expect for it to be an OSGi bundle, except for the Bundle-ManifestVersion header. As a result it is not a valid R4 bundle, but will be treated as an R3 bundle. Looking at the metadata provided it looks as if the bundle should be an R4 bundle. Adding the Bundle-ManifestVersion will make it a proper R4 bundle. ------------------------------------------------------------------------ r918359 | kahatlen | 2010-03-03 08:06:33 +0000 (Wed, 03 Mar 2010) | 4 lines DERBY-4571: Memory leak on server when using "SET ROLE" command Remove the dependency on the current role when the activation is closed. ------------------------------------------------------------------------ r919159 | rhillegas | 2010-03-04 20:17:54 +0000 (Thu, 04 Mar 2010) | 1 line DERBY-4565: Add a client for testing the concurrency of sequence generators. ------------------------------------------------------------------------ r919250 | bpendleton | 2010-03-05 00:49:29 +0000 (Fri, 05 Mar 2010) | 9 lines DERBY-4424: Convert outerjoin.sql into JUnit This change was contributed by Eranda Sooriyabandara (070468D at gmail dot com) This change introduces a new JUnit-based assertion test, OuterJoinTest, which replaces the previous ij-based outerjoin-sql test. The new test is added to the lang suite of JUnit tests, and the old test is removed from the derbylang.runall suite. ------------------------------------------------------------------------ r919633 | rhillegas | 2010-03-05 21:55:09 +0000 (Fri, 05 Mar 2010) | 1 line DERBY-4576: Check in Sylvain Leroux's fix to enable ij qualified identifiers on the GET CURSOR command. ------------------------------------------------------------------------ r920527 | myrnavl | 2010-03-08 21:35:13 +0000 (Mon, 08 Mar 2010) | 3 lines DERBY-4548; alternative location for ant.properties; forgot to adjust BUILDING.html after the latest changes. ------------------------------------------------------------------------ r921028 | kmarsden | 2010-03-09 18:12:58 +0000 (Tue, 09 Mar 2010) | 4 lines DERBY-4564 Replication tests do not pick up derby.tests.networkServerStartTimeout setting ------------------------------------------------------------------------ r921070 | kmarsden | 2010-03-09 19:27:48 +0000 (Tue, 09 Mar 2010) | 10 lines DERBY-4166 improvements to the mailjdbc test Contributed by Lily Wei lilywei@yahoo.com - Changed schema to allow multiple attachments. - Increase sleep time between threads to avoid deadlocks. - Restructure refresh thread to more accurately reflect mail retrieval. - maintain 10 - 56 rows during test to keep size predictable. - Make sure all transactions are commited or rolled back to avoid locking issues. ------------------------------------------------------------------------ r921365 | rhillegas | 2010-03-10 14:30:37 +0000 (Wed, 10 Mar 2010) | 1 line DERBY-4565: Loop till the lock wait timeout when attempting to allocate a block of sequence numbers. ------------------------------------------------------------------------ r922304 | kahatlen | 2010-03-12 16:01:20 +0000 (Fri, 12 Mar 2010) | 8 lines DERBY-4483: Provide a way to change the hash algorithm used by BUILTIN authentication Added a database property, derby.authentication.builtin.algorithm, that specifies which message digest algorithm to use when storing user credentials in the database. Added functional tests and upgrade tests. ------------------------------------------------------------------------ r922458 | rhillegas | 2010-03-12 23:50:14 +0000 (Fri, 12 Mar 2010) | 1 line DERBY-4580: Fix dblook on soft-upgraded databases, which had been broken by the addition of sequences. ------------------------------------------------------------------------ r922682 | kahatlen | 2010-03-13 22:33:04 +0000 (Sat, 13 Mar 2010) | 2 lines DERBY-1748 (partial) Removed unused collation code ------------------------------------------------------------------------ r924209 | kahatlen | 2010-03-17 10:32:26 +0000 (Wed, 17 Mar 2010) | 6 lines DERBY-3207: Allow bin scripts to run without DERBY_HOME set Inline the contents of derby_common.sh in the shell scripts at build time so that they contain the necessary logic to find the jar files even when DERBY_HOME has not been set. ------------------------------------------------------------------------ r924217 | kahatlen | 2010-03-17 10:42:32 +0000 (Wed, 17 Mar 2010) | 2 lines DERBY-3207: Add the generated scripts in the bin directory to svn:ignore ------------------------------------------------------------------------ r924746 | kahatlen | 2010-03-18 12:27:32 +0000 (Thu, 18 Mar 2010) | 8 lines DERBY-4483: Provide a way to change the hash algorithm used by BUILTIN authentication Added more comments about the incompatibility between the configurable hash scheme and strong password substitution. Changed a symbol that still referred to the SHA-1 based authentication scheme as the new scheme. ------------------------------------------------------------------------ r925377 | kmarsden | 2010-03-19 18:54:04 +0000 (Fri, 19 Mar 2010) | 10 lines DERBY-4322 intermittent failure in runtimeinfo. Contributed by Myrna van Lunteren. The theory is that this failure is caused by a problem in the previous test DerbyNetAutostart which launches a process to start the server and can be left pinging if the check for the server in the launching process, does not allow enough time for the server to come up. The pings increment the session number as seen by runtimeinfo. So the changes are to DerbyNetAutoStart and are to 1) Make sure the server launching process retries enough times for the launched process comes up. 2) Make sure if something does go wrong, the launched process is destroyed ------------------------------------------------------------------------ r926520 | kahatlen | 2010-03-23 10:34:55 +0000 (Tue, 23 Mar 2010) | 2 lines DERBY-4483: Make toHexByte() private to discourage its use in new code ------------------------------------------------------------------------ r926526 | kahatlen | 2010-03-23 10:53:42 +0000 (Tue, 23 Mar 2010) | 5 lines DERBY-2438: Remove the JDBC20Translation interface All the constants in this interface are now available in the default compile classpath, so remove this indirection. ------------------------------------------------------------------------ r926600 | kristwaa | 2010-03-23 14:53:17 +0000 (Tue, 23 Mar 2010) | 8 lines DERBY-4590: You can drop a file-system database from a directory named "memory". Fixed low-level logic determining if you are allowed to drop a database or not. The check is based on substring matching of the protocol part of the database name. Patch file: derby-4590-1a-disallow_drop_properly.diff ------------------------------------------------------------------------ r926710 | rhillegas | 2010-03-23 18:32:38 +0000 (Tue, 23 Mar 2010) | 1 line DERBY-4593: Tweak ReleaseNotesGenerator for 10.6 release and checkin first cut of 10.6 release notes. ------------------------------------------------------------------------ r927114 | kristwaa | 2010-03-24 16:29:14 +0000 (Wed, 24 Mar 2010) | 9 lines DERBY-2017: Client driver can insert and commit partial data when a LOB stream throws IOException or does not match the specified length Added regression tests (not yet wired into a suite, awaiting fix). Used JDBC 4.0 API to "force" use of layer B streaming, even though DRDA/DDM allows layer B streaming to be used in other cases too. Patch file: derby-2017-2b-regression-test.diff ------------------------------------------------------------------------ r927315 | kristwaa | 2010-03-25 09:24:35 +0000 (Thu, 25 Mar 2010) | 2 lines DERBY-2017: Fixed JavaDoc warning. ------------------------------------------------------------------------ r927367 | kahatlen | 2010-03-25 12:26:42 +0000 (Thu, 25 Mar 2010) | 6 lines DERBY-4483: Provide a way to change the hash algorithm used by BUILTIN authentication Added more information to error message for authentication failure with strong password substitution to indicate that it might have been caused by the use of a custom hash algorithm. ------------------------------------------------------------------------ r927368 | kahatlen | 2010-03-25 12:31:56 +0000 (Thu, 25 Mar 2010) | 4 lines DERBY-4483: Provide a way to change the hash algorithm used by BUILTIN authentication Make fresh databases use the new authentication scheme with SHA-256 by default. ------------------------------------------------------------------------ r927430 | kahatlen | 2010-03-25 14:46:14 +0000 (Thu, 25 Mar 2010) | 4 lines DERBY-4594: ArrayIndexOutOfBoundsException thrown in PreparedStatement execution Added missing categorize() method in CoalesceFunctionNode. ------------------------------------------------------------------------ r927631 | rhillegas | 2010-03-25 22:53:15 +0000 (Thu, 25 Mar 2010) | 1 line DERBY-4068: Fix precision/scale of numeric/decimals and length of string types when selected as return values of functions. ------------------------------------------------------------------------ r928065 | kmarsden | 2010-03-26 21:40:04 +0000 (Fri, 26 Mar 2010) | 3 lines DERBY-4598 Print class loader used to boot and shutdown derby in derby.log ------------------------------------------------------------------------ r928649 | kahatlen | 2010-03-29 08:56:00 +0000 (Mon, 29 Mar 2010) | 7 lines DERBY-4600: Use ValueNodeList helper methods in CoalesceFunctionNode Use the helper methods defined in ValueNodeList to process the argumentsList field in CoalesceFunctionNode. Also add a new helper method, isEquivalent(), and use it in BinaryListOperatorNode, ConditionalNode and CoalesceFunctionNode. ------------------------------------------------------------------------ r929085 | kahatlen | 2010-03-30 11:22:35 +0000 (Tue, 30 Mar 2010) | 4 lines DERBY-4584: Unable to connect to network server if client thread name has Japanese characters Patch contributed by Tiago R. Espinha. ------------------------------------------------------------------------ r929111 | kahatlen | 2010-03-30 12:42:59 +0000 (Tue, 30 Mar 2010) | 4 lines DERBY-1748: Global case insensitive setting Patch contributed by Gunnar Grim. ------------------------------------------------------------------------ r929715 | kahatlen | 2010-03-31 21:06:13 +0000 (Wed, 31 Mar 2010) | 2 lines DERBY-4602, DERBY-4483: Use SHA-1 for BUILTIN authentication if SHA-256 isn't supported ------------------------------------------------------------------------ r929891 | kahatlen | 2010-04-01 09:12:54 +0000 (Thu, 01 Apr 2010) | 4 lines DERBY-4603: test testBuiltinAuthenticationWithConfigurableHash fails from upgradeTests.Changes10_6 with ibm's j9 Test with a hash algorithm that's available on all supported platforms. ------------------------------------------------------------------------ r930177 | kahatlen | 2010-04-02 06:52:38 +0000 (Fri, 02 Apr 2010) | 5 lines DERBY-4604: test lang.CollationTest.testSwedishCaseInsensitiveCollation fails with IBM's weme6.2/1.4.2. & Sun's 1.4.2 Disable test case when the JVM suffers from this bug: http://bugs.sun.com/view_bug.do?bug_id=4804273 ------------------------------------------------------------------------ r930311 | myrnavl | 2010-04-02 16:18:54 +0000 (Fri, 02 Apr 2010) | 3 lines DERBY-4509; convert autoincrement.ssql to JUnit patch contributed by Jayaram Subramanian, rsjay1976 at gmail dot com ------------------------------------------------------------------------ r930863 | rhillegas | 2010-04-05 14:12:27 +0000 (Mon, 05 Apr 2010) | 1 line DERBY-4593: Second rev of release notes for 10.6. ------------------------------------------------------------------------ r931076 | kahatlen | 2010-04-06 10:27:22 +0000 (Tue, 06 Apr 2010) | 5 lines DERBY-4585: IndexChanger.doDelete throws NullPointerException Make sure the cached index scan is not cleared too early by a result set that doesn't use it. ------------------------------------------------------------------------ r931189 | kahatlen | 2010-04-06 15:47:14 +0000 (Tue, 06 Apr 2010) | 6 lines DERBY-4608: Unnecessary conversion of binary values to strings in SQLBinary.compare() Use isNull() instead of getString() to check if the values are null, since we don't need the string representation of the values. Also add a test case to HeapScan to demonstrate the performance impact. ------------------------------------------------------------------------ r931206 | kahatlen | 2010-04-06 16:08:50 +0000 (Tue, 06 Apr 2010) | 1 line Remove offensive language in assert message ------------------------------------------------------------------------ r931255 | kahatlen | 2010-04-06 18:17:45 +0000 (Tue, 06 Apr 2010) | 7 lines DERBY-4607: HeapScan test commits wrong connection Use BaseJDBCTestCase helper methods to ensure that the same connection is used all places in the HeapScan and in its sub-class CoveredIdxScan. (Previously, different connections were used when executing a statement and when committing.) ------------------------------------------------------------------------ r932930 | kahatlen | 2010-04-11 16:26:18 +0000 (Sun, 11 Apr 2010) | 6 lines DERBY-4582: Timestamps inserted with GMT calendar are 1 hour later when subsequently read with GMT calendar (Server Mode Only) Added test case that exposes the bug. The test case currently only passes with the embedded driver and is therefore not enabled in any test suites. ------------------------------------------------------------------------ r933637 | kahatlen | 2010-04-13 14:33:26 +0000 (Tue, 13 Apr 2010) | 6 lines DERBY-4582: Timestamps inserted with GMT calendar are 1 hour later when subsequently read with GMT calendar (Server Mode Only) Improved the regression test by adding a test case for updatable result sets. ------------------------------------------------------------------------ r933726 | rhillegas | 2010-04-13 18:08:32 +0000 (Tue, 13 Apr 2010) | 1 line DERBY-2602: Allow full JDBC nanosecond-precision in timestamps across the network just as is done in the embedded scenario. ------------------------------------------------------------------------ r934474 | kahatlen | 2010-04-15 16:26:49 +0000 (Thu, 15 Apr 2010) | 1 line DERBY-4615: EmbedCallableStatement ignores Calendar in getDate, getTime and getTimestamp ------------------------------------------------------------------------ r934502 | rhillegas | 2010-04-15 18:08:01 +0000 (Thu, 15 Apr 2010) | 1 line DERBY-4565: Make it possible to run the concurrency test for sequence generators without any tables in order to isolate sequence generator behavior from other concurrency bottlenecks. ------------------------------------------------------------------------ r934996 | kmarsden | 2010-04-16 16:58:47 +0000 (Fri, 16 Apr 2010) | 7 lines DERBY-4588 Provide a diagnostic property that will print a stack trace on succes sful boot to help diagnose dual boot issues after the DERBY-700 fix To use, set the property derby.stream.error.logBootTrace=true A stack trace will print in the derby.log on boot and shutdown. ------------------------------------------------------------------------ r935336 | kristwaa | 2010-04-18 12:56:58 +0000 (Sun, 18 Apr 2010) | 10 lines DERBY-3650: internal multiple references from different rows to a single BLOB/CLOB stream leads to various errors when second reference used. Clone DVDs during joins if their value is represented as a (store) stream. Enable tests as part of the regression suite. Origial patch contributed by Mike Matrigali (mikem_app at sbcglobal dot net), reworked by Kristian Waagan (Kristian dot Waagan at Sun dot com). Patch file: derby-3650-preliminary_2_reworked-1b.diff ------------------------------------------------------------------------ r935602 | rhillegas | 2010-04-19 14:48:36 +0000 (Mon, 19 Apr 2010) | 1 line DERBY-4593: Check in first version of the 10.6 release notes for community-wide review. ------------------------------------------------------------------------ r935700 | kmarsden | 2010-04-19 18:39:32 +0000 (Mon, 19 Apr 2010) | 6 lines DERBY-4441 Change sysinfo to print out more specific JVM information Contributed by lilywei at yahoo dot com Show system properties java.runtime.version and java.fullversion with sysinfo to give more specific JVM information. ------------------------------------------------------------------------ r935868 | kahatlen | 2010-04-20 10:56:16 +0000 (Tue, 20 Apr 2010) | 9 lines DERBY-4582: Timestamps inserted with GMT calendar are 1 hour later when subsequently read with GMT calendar (Server Mode Only) Partial fix. This check-in makes the client do the conversion to the requested time zone correctly, and the correct timestamps will be sent to the server. There's still some incorrect handling of the values on the server, as well as when the client reads them back from the server, so the results may still end up being wrong. ------------------------------------------------------------------------ r936006 | rhillegas | 2010-04-20 17:22:59 +0000 (Tue, 20 Apr 2010) | 1 line DERBY-4593: Small changes to release notes based on community feedback. ------------------------------------------------------------------------ r936215 | kahatlen | 2010-04-21 09:09:12 +0000 (Wed, 21 Apr 2010) | 10 lines DERBY-4621: Invalid conversion from Timestamp to String when calling setTimestamp() with Calendar Two changes to fix the wrong time and to harmonize the format between the methods that take a Calendar argument and those that don't: 1) Use 24-hour clock when converting the time component to a string 2) Add a decimal point and a single zero if the nanosecond component of a Timestamp is zero ------------------------------------------------------------------------ r936218 | kahatlen | 2010-04-21 09:16:53 +0000 (Wed, 21 Apr 2010) | 10 lines DERBY-4582: Timestamps inserted with GMT calendar are 1 hour later when subsequently read with GMT calendar (Server Mode Only) Partial fix. This fix makes the server use a GMT calendar when it reads a date, time or timestamp from the client. This way, the values won't be changed if they refer to a point in time that does not exist in the local time zone due to switch from/to daylight saving time (GMT doesn't observe daylight saving time and therefore doesn't have these holes in the range of valid values). ------------------------------------------------------------------------ r936472 | rhillegas | 2010-04-21 20:02:48 +0000 (Wed, 21 Apr 2010) | 1 line DERBY-4593: Significantly revamp the ReleaseNotesGenerator to account for the fact that JIRA reports change shape between releases. ------------------------------------------------------------------------ r936908 | rhillegas | 2010-04-22 15:46:25 +0000 (Thu, 22 Apr 2010) | 1 line DERBY-4593: Second rev of 10.6.1 release notes for community review. ------------------------------------------------------------------------ r936950 | kristwaa | 2010-04-22 16:45:22 +0000 (Thu, 22 Apr 2010) | 20 lines DERBY-2017: Client driver can insert and commit partial data when a LOB stream throws IOException or does not match the specified length Made the client tell the server (if supported) if the EXTDTA transfer was successful or not, by appending a Derby-specific status byte to the user data. If the transfer was unsuccessful, an exception will be thrown on the server side even if the data was padded by the client to avoid a protocol exception. There are three types of errors that can happen on the client when reading the user stream: a) the stream is shorter than specified b) the stream is longer than specified c) an IOException is thrown when reading the stream The fix consists of logic to allow the client and the server to determine if the status byte will be sent, code to append the status byte on the client, and code on the server to parse / read the status byte. Some code in DRDAConnThread was also refactored (mostly readAndSetExtParam). Patch file: derby-2017-3c-fix.diff ------------------------------------------------------------------------ r936954 | kristwaa | 2010-04-22 16:50:58 +0000 (Thu, 22 Apr 2010) | 8 lines DERBY-4619: PropertySetter fails due to an empty jre/lib directory Skip JDK install directories which are empty / invalid (affects only the old detection algorithm, which is based on directory name recognition). Patch file: derby-4619-1a-fix_for_empty_libdir.diff ------------------------------------------------------------------------ r937170 | kahatlen | 2010-04-23 07:29:36 +0000 (Fri, 23 Apr 2010) | 11 lines DERBY-4582: Timestamps inserted with GMT calendar are 1 hour later when subsequently read with GMT calendar (Server Mode Only) Partial fix. This patch makes the server read time, date and timestamp values from ResultSets and CallableStatements using the getter methods that take a Calendar object. A GMT calendar is used, so that times that are not possible to represent in the local time zone (like the "lost hour" when switching to daylight saving time) are not silently modified. The GMT calendar is also used when formatting the value before it's sent to the client. ------------------------------------------------------------------------ r937198 | kristwaa | 2010-04-23 09:05:12 +0000 (Fri, 23 Apr 2010) | 7 lines DERBY-2017: Client driver can insert and commit partial data when a LOB stream throws IOException or does not match the specified length Remove workaround for DERBY-2017 (the test accepted a row that shouldn't have been committed). Patch file: derby-2017-4a-remove_test_workaround.diff ------------------------------------------------------------------------ r937317 | rhillegas | 2010-04-23 14:54:29 +0000 (Fri, 23 Apr 2010) | 1 line DERBY-4593: Fix some garbled entities in the summaries of 3 bugs fixed for 10.6. ------------------------------------------------------------------------ r937655 | kristwaa | 2010-04-24 17:33:22 +0000 (Sat, 24 Apr 2010) | 7 lines DERBY-2017: Client driver can insert and commit partial data when a LOB stream throws IOException or does not match the specified length Enabled tests as part of the suites. Added tests for binary data. Patch file: derby-2017-5a-binary_tests.diff ------------------------------------------------------------------------ r938046 | rhillegas | 2010-04-26 13:41:56 +0000 (Mon, 26 Apr 2010) | 1 line Created the 10.6 code branch. ------------------------------------------------------------------------ r938125 | rhillegas | 2010-04-26 17:04:53 +0000 (Mon, 26 Apr 2010) | 1 line DERBY-4593: On the 10.6 branch, update the STATUS file, change the release id to 10.6.1.0, and regenerate the release notes. ------------------------------------------------------------------------