You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by my...@apache.org on 2013/02/14 16:08:20 UTC
svn commit: r1446227 - in
/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests:
master/ suites/ tests/store/
Author: myrnavl
Date: Thu Feb 14 15:08:20 2013
New Revision: 1446227
URL: http://svn.apache.org/r1446227
Log:
DERBY-5977; Run storemore and possibly other store .sql tests in junit harness using ScriptTest mechanism.
Adding databaseProperties.sql to the scripts in StoreScriptsTest.
Also adding 2 additional test cases to databaseProperties.sql
Removed:
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/databaseProperties_app.properties
Modified:
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/databaseProperties.out
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/storemore.runall
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/StoreScriptsTest.java
db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/databaseProperties.sql
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/databaseProperties.out
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/databaseProperties.out?rev=1446227&r1=1446226&r2=1446227&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/databaseProperties.out (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/master/databaseProperties.out Thu Feb 14 15:08:20 2013
@@ -1,4 +1,4 @@
-ij> --
+ij(CONNECTION1)> --
-- Licensed to the Apache Software Foundation (ASF) under one or more
-- contributor license agreements. See the NOTICE file distributed with
-- this work for additional information regarding copyright ownership.
@@ -15,7 +15,7 @@ ij> --
-- limitations under the License.
--
run resource '/org/apache/derbyTesting/functionTests/util/testRoutines.sql';
-ij> --
+ij(CONNECTION1)> --
-- Licensed to the Apache Software Foundation (ASF) under one or more
-- contributor license agreements. See the NOTICE file distributed with
-- this work for additional information regarding copyright ownership.
@@ -35,179 +35,209 @@ ij> --
-- Direct call to 'installRoutines' uses nested connection
CREATE PROCEDURE TESTROUTINE.SET_SYSTEM_PROPERTY(IN PROPERTY_KEY VARCHAR(32000), IN PROPERTY_VALUE VARCHAR(32000)) NO SQL EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.TestRoutines.setSystemProperty' language java parameter style java;
0 rows inserted/updated/deleted
-ij> CREATE PROCEDURE TESTROUTINE.SLEEP(IN SLEEP_TIME_MS BIGINT) NO SQL EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.TestRoutines.sleep' language java parameter style java;
+ij(CONNECTION1)> CREATE PROCEDURE TESTROUTINE.SLEEP(IN SLEEP_TIME_MS BIGINT) NO SQL EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.TestRoutines.sleep' language java parameter style java;
0 rows inserted/updated/deleted
-ij> CREATE FUNCTION TESTROUTINE.HAS_SECURITY_MANAGER() RETURNS INT NO SQL EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.TestRoutines.hasSecurityManager' language java parameter style java;
+ij(CONNECTION1)> CREATE FUNCTION TESTROUTINE.HAS_SECURITY_MANAGER() RETURNS INT NO SQL EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.TestRoutines.hasSecurityManager' language java parameter style java;
0 rows inserted/updated/deleted
-ij> CREATE FUNCTION TESTROUTINE.READ_FILE(FILE_NAME VARCHAR(60), ENCODING VARCHAR(60)) RETURNS VARCHAR(32000) NO SQL EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.TestRoutines.readFile' language java parameter style java;
+ij(CONNECTION1)> CREATE FUNCTION TESTROUTINE.READ_FILE(FILE_NAME VARCHAR(60), ENCODING VARCHAR(60)) RETURNS VARCHAR(32000) NO SQL EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.TestRoutines.readFile' language java parameter style java;
0 rows inserted/updated/deleted
-ij> CREATE FUNCTION GET_TABLE_PROPERTY (SCHEMA_NAME VARCHAR(128), TABLE_NAME VARCHAR(128), PROP_KEY VARCHAR(1000)) RETURNS VARCHAR(1000) EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.TestPropertyInfo.getTableProperty' LANGUAGE JAVA PARAMETER STYLE JAVA;
+ij(CONNECTION1)> CREATE FUNCTION GET_TABLE_PROPERTY (SCHEMA_NAME VARCHAR(128), TABLE_NAME VARCHAR(128), PROP_KEY VARCHAR(1000)) RETURNS VARCHAR(1000) EXTERNAL NAME 'org.apache.derbyTesting.functionTests.util.TestPropertyInfo.getTableProperty' LANGUAGE JAVA PARAMETER STYLE JAVA;
0 rows inserted/updated/deleted
-ij> -- Get a property that hasn't been set yet - should return null
+ij(CONNECTION1)> -- Get a property that hasn't been set yet - should return null
values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('key1');
1
--------------------------------------------------------------------------------------------------------------------------------
NULL
-ij> -- Set a couple of properties
+ij(CONNECTION1)> -- Set a couple of properties
call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('key1', 'one, two, three');
0 rows inserted/updated/deleted
-ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('key2', 'eins, zwei, drei');
+ij(CONNECTION1)> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('key2', 'eins, zwei, drei');
0 rows inserted/updated/deleted
-ij> -- and fetch them
+ij(CONNECTION1)> -- and fetch them
values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('key1');
1
--------------------------------------------------------------------------------------------------------------------------------
one, two, three
-ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('key2');
+ij(CONNECTION1)> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('key2');
1
--------------------------------------------------------------------------------------------------------------------------------
eins, zwei, drei
-ij> -- and delete one of theme
+ij(CONNECTION1)> -- and delete one of theme
call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('key2', null);
0 rows inserted/updated/deleted
-ij> -- and fetch them
+ij(CONNECTION1)> -- and fetch them
values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('key1');
1
--------------------------------------------------------------------------------------------------------------------------------
one, two, three
-ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('key2');
+ij(CONNECTION1)> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('key2');
1
--------------------------------------------------------------------------------------------------------------------------------
NULL
-ij> -- Now check some explicit properties
+ij(CONNECTION1)> -- Now check some explicit properties
+
-- ************ derby.storage.pageSize
+
-- See what the default is first
create table T (i int);
0 rows inserted/updated/deleted
-ij> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageSize');
+ij(CONNECTION1)> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageSize');
1
--------------------------------------------------------------------------------------------------------------------------------
4096
-ij> drop table T;
+ij(CONNECTION1)> drop table T;
0 rows inserted/updated/deleted
-ij> -- set the per-database value
+ij(CONNECTION1)> -- set the per-database value
call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.storage.pageSize', '16384');
0 rows inserted/updated/deleted
-ij> -- this create table should pick up the per-database
+ij(CONNECTION1)> -- this create table should pick up the per-database
create table T (i int);
0 rows inserted/updated/deleted
-ij> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageSize');
+ij(CONNECTION1)> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageSize');
1
--------------------------------------------------------------------------------------------------------------------------------
16384
-ij> drop table T;
+ij(CONNECTION1)> drop table T;
0 rows inserted/updated/deleted
-ij> -- ************ derby.storage.minimumRecordSize
+ij(CONNECTION1)> -- check that setting to an invalid value reverts to the default
+call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.storage.pageSize', 'a');
+0 rows inserted/updated/deleted
+ij(CONNECTION1)> create table T (i int);
+0 rows inserted/updated/deleted
+ij(CONNECTION1)> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageSize');
+1
+--------------------------------------------------------------------------------------------------------------------------------
+4096
+ij(CONNECTION1)> drop table T;
+0 rows inserted/updated/deleted
+ij(CONNECTION1)> -- setting to NULL is also invalid
+call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.storage.pageSize', 'NULL');
+0 rows inserted/updated/deleted
+ij(CONNECTION1)> create table T (i int);
+0 rows inserted/updated/deleted
+ij(CONNECTION1)> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageSize');
+1
+--------------------------------------------------------------------------------------------------------------------------------
+4096
+ij(CONNECTION1)> drop table T;
+0 rows inserted/updated/deleted
+ij(CONNECTION1)> -- ************ derby.storage.minimumRecordSize
+
-- See what the default is first
create table T (i int);
0 rows inserted/updated/deleted
-ij> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.minimumRecordSize');
+ij(CONNECTION1)> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.minimumRecordSize');
1
--------------------------------------------------------------------------------------------------------------------------------
12
-ij> drop table T;
+ij(CONNECTION1)> drop table T;
0 rows inserted/updated/deleted
-ij> -- set the per-database value
+ij(CONNECTION1)> -- set the per-database value
call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.storage.minimumRecordSize', '42');
0 rows inserted/updated/deleted
-ij> -- this create table should pick up the per-database
+ij(CONNECTION1)> -- this create table should pick up the per-database
create table T (i int);
0 rows inserted/updated/deleted
-ij> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.minimumRecordSize');
+ij(CONNECTION1)> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.minimumRecordSize');
1
--------------------------------------------------------------------------------------------------------------------------------
42
-ij> drop table T;
+ij(CONNECTION1)> drop table T;
0 rows inserted/updated/deleted
-ij> -- ************ derby.storage.pageReservedSpace
+ij(CONNECTION1)> -- ************ derby.storage.pageReservedSpace
+
-- See what the default is first
create table T (i int);
0 rows inserted/updated/deleted
-ij> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageReservedSpace');
+ij(CONNECTION1)> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageReservedSpace');
1
--------------------------------------------------------------------------------------------------------------------------------
20
-ij> drop table T;
+ij(CONNECTION1)> drop table T;
0 rows inserted/updated/deleted
-ij> -- set the per-database value
+ij(CONNECTION1)> -- set the per-database value
call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.storage.pageReservedSpace', '17');
0 rows inserted/updated/deleted
-ij> -- this create table should pick up the per-database
+ij(CONNECTION1)> -- this create table should pick up the per-database
create table T (i int);
0 rows inserted/updated/deleted
-ij> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageReservedSpace');
+ij(CONNECTION1)> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageReservedSpace');
1
--------------------------------------------------------------------------------------------------------------------------------
17
-ij> drop table T;
+ij(CONNECTION1)> drop table T;
0 rows inserted/updated/deleted
-ij> -- ************ derby.database.noAutoBoot
+ij(CONNECTION1)> -- ************ derby.database.noAutoBoot
-- should be set in service.properties, not the conglomerate, but that's transparent here ...
+
values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('derby.database.noAutoBoot');
1
--------------------------------------------------------------------------------------------------------------------------------
NULL
-ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.database.noAutoBoot', 'true');
+ij(CONNECTION1)> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.database.noAutoBoot', 'true');
0 rows inserted/updated/deleted
-ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('derby.database.noAutoBoot');
+ij(CONNECTION1)> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('derby.database.noAutoBoot');
1
--------------------------------------------------------------------------------------------------------------------------------
true
-ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.database.noAutoBoot', 'false');
+ij(CONNECTION1)> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.database.noAutoBoot', 'false');
0 rows inserted/updated/deleted
-ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('derby.database.noAutoBoot');
+ij(CONNECTION1)> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('derby.database.noAutoBoot');
1
--------------------------------------------------------------------------------------------------------------------------------
false
-ij> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.database.noAutoBoot', null);
+ij(CONNECTION1)> call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.database.noAutoBoot', null);
0 rows inserted/updated/deleted
-ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('derby.database.noAutoBoot');
+ij(CONNECTION1)> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('derby.database.noAutoBoot');
1
--------------------------------------------------------------------------------------------------------------------------------
NULL
-ij> -- Now check some explicit properties
+ij(CONNECTION1)> -- Now check some explicit properties
+
+
-- Now check with derby.storage.pageSize if derby.database.propertiesOnly
-- ensures that system wide properties are ignored
+
-- See is currently set, should be 16384
create table T (i int);
0 rows inserted/updated/deleted
-ij> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageSize');
+ij(CONNECTION1)> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageSize');
1
--------------------------------------------------------------------------------------------------------------------------------
-16384
-ij> drop table T;
+4096
+ij(CONNECTION1)> drop table T;
0 rows inserted/updated/deleted
-ij> -- set system value
+ij(CONNECTION1)> -- set system value
CALL TESTROUTINE.SET_SYSTEM_PROPERTY('derby.storage.pageSize', '8192');
0 rows inserted/updated/deleted
-ij> -- this create table should pick up the system value - 8192
+ij(CONNECTION1)> -- this create table should pick up the system value - 8192
create table T (i int);
0 rows inserted/updated/deleted
-ij> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageSize');
+ij(CONNECTION1)> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageSize');
1
--------------------------------------------------------------------------------------------------------------------------------
8192
-ij> drop table T;
+ij(CONNECTION1)> drop table T;
0 rows inserted/updated/deleted
-ij> --
+ij(CONNECTION1)> --
call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.database.propertiesOnly', 'true');
0 rows inserted/updated/deleted
-ij> -- this create table should pick up the database value - 16384
+ij(CONNECTION1)> -- this create table should pick up the database value - 16384
create table T (i int);
0 rows inserted/updated/deleted
-ij> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageSize');
+ij(CONNECTION1)> values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageSize');
1
--------------------------------------------------------------------------------------------------------------------------------
-16384
-ij> drop table T;
+4096
+ij(CONNECTION1)> drop table T;
0 rows inserted/updated/deleted
-ij> -- verify that creation time only properties may not be set.
+ij(CONNECTION1)> -- verify that creation time only properties may not be set.
call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.engineType', '9');
ERROR XCY02: The requested property change is not supported 'derby.engineType'='9'.
-ij> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('derby.engineType');
+ij(CONNECTION1)> values SYSCS_UTIL.SYSCS_GET_DATABASE_PROPERTY('derby.engineType');
1
--------------------------------------------------------------------------------------------------------------------------------
NULL
-ij> drop function GET_TABLE_PROPERTY;
+ij(CONNECTION1)> drop function GET_TABLE_PROPERTY;
0 rows inserted/updated/deleted
-ij>
+ij(CONNECTION1)>
\ No newline at end of file
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/storemore.runall
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/storemore.runall?rev=1446227&r1=1446226&r2=1446227&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/storemore.runall (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/suites/storemore.runall Thu Feb 14 15:08:20 2013
@@ -1,4 +1,3 @@
-store/databaseProperties.sql
store/logDevice.sql
store/Rllmodule2.sql
store/TransactionTable.sql
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/StoreScriptsTest.java
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/StoreScriptsTest.java?rev=1446227&r1=1446226&r2=1446227&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/StoreScriptsTest.java (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/StoreScriptsTest.java Thu Feb 14 15:08:20 2013
@@ -21,8 +21,6 @@
package org.apache.derbyTesting.functionTests.tests.store;
-import java.sql.PreparedStatement;
-import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;
@@ -46,7 +44,7 @@ public class StoreScriptsTest extends Sc
/* in comments reasons why scripts from the storemore suite can/cannot be run like this*/
"cisco",
"connectDisconnect",
- //"databaseProperties", // causes failures in AccessTest in EncryptionSuite
+ "databaseProperties", // causes failures in AccessTest in EncryptionSuite
"longRow",
//"logDevice", // cannot run like this; test tries to set up
// a separate logDevice by using ij.DataSource.connectionAttribute
@@ -151,10 +149,17 @@ public class StoreScriptsTest extends Sc
Statement s = createStatement();
// Clear the database properties set by this test so that they
// don't affect other tests.
- s.executeUpdate("CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.storage.pageSize', NULL)");
- commit();
+ s.executeUpdate("CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY" +
+ "('derby.storage.pageSize', NULL)");
+ s.executeUpdate("CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY" +
+ "('derby.storage.pageReservedSpace', NULL)");
+ s.executeUpdate("CALL SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY" +
+ "('derby.database.propertiesOnly', false)");
+ // databaseProperties.sql sets this as a system property as well.
+ removeSystemProperty("derby.storage.pageSize");
super.tearDown();
}
+
}
\ No newline at end of file
Modified: db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/databaseProperties.sql
URL: http://svn.apache.org/viewvc/db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/databaseProperties.sql?rev=1446227&r1=1446226&r2=1446227&view=diff
==============================================================================
--- db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/databaseProperties.sql (original)
+++ db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/databaseProperties.sql Thu Feb 14 15:08:20 2013
@@ -55,6 +55,17 @@ create table T (i int);
values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageSize');
drop table T;
+-- check that setting to an invalid value reverts to the default
+call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.storage.pageSize', 'a');
+create table T (i int);
+values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageSize');
+drop table T;
+
+-- setting to NULL is also invalid
+call SYSCS_UTIL.SYSCS_SET_DATABASE_PROPERTY('derby.storage.pageSize', 'NULL');
+create table T (i int);
+values GET_TABLE_PROPERTY('APP', 'T', 'derby.storage.pageSize');
+drop table T;
-- ************ derby.storage.minimumRecordSize