db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ma...@apache.org
Subject svn commit: r1179692 - in /db/derby/code/branches/10.8: ./ java/client/org/apache/derby/client/net/ java/testing/org/apache/derbyTesting/perf/clients/
Date Thu, 06 Oct 2011 16:24:00 GMT
Author: mamta
Date: Thu Oct  6 16:24:00 2011
New Revision: 1179692

URL: http://svn.apache.org/viewvc?rev=1179692&view=rev
Log:
DERBY-5445 Enhance existing concurrency test to stress sequence generators to also stress
identity columns

Backporting to 10.8


Modified:
    db/derby/code/branches/10.8/   (props changed)
    db/derby/code/branches/10.8/java/client/org/apache/derby/client/net/NetCursor.java   (props
changed)
    db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/perf/clients/Runner.java
    db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/perf/clients/SequenceGeneratorConcurrency.java

Propchange: db/derby/code/branches/10.8/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 16:24:00 2011
@@ -1,2 +1,2 @@
 /db/derby/code/branches/10.7:1061570,1061578,1082235
-/db/derby/code/trunk:1063809,1088633,1089795,1091000,1091221,1091285,1092067,1092795,1094315,1094572,1094728,1095247,1096741,1096890,1096991,1097247,1097249,1097460,1097469,1097471,1098033,1101059,1101839,1102620,1102826,1103681,1103718,1103742,1104365,1125305,1126358,1126468,1127825,1127883,1128243,1128942,1129136,1129764,1129797,1130077,1130084,1130632,1130895,1131030,1131272,1132546,1132664,1132747,1132860,1132928,1133304,1133317,1133741,1133752,1134139,1136363,1136371,1136397,1136844,1137213,1138201,1138341,1138444,1138787,1138795,1139449,1139451,1140222,1140744,1141924,1142583,1142635,1145057,1146644,1146915,1146962,1147219,1147242,1147335,1148344,1148354,1148429,1148658,1149054,1149090,1149270,1149482,1149662,1151101,1151612,1158108,1160593,1160597,1161208,1162737,1163131,1163616,1164358,1164370,1164495,1165221,1166313,1167017,1167226,1167470,1169692,1171227,1171665,1171672,1173446,1173647,1174436,1174646,1176633,1176636,1177589
+/db/derby/code/trunk:1063809,1088633,1089795,1091000,1091221,1091285,1092067,1092795,1094315,1094572,1094728,1095247,1096741,1096890,1096991,1097247,1097249,1097460,1097469,1097471,1098033,1101059,1101839,1102620,1102826,1103681,1103718,1103742,1104365,1125305,1126358,1126468,1127825,1127883,1128243,1128942,1129136,1129764,1129797,1130077,1130084,1130632,1130895,1131030,1131272,1132546,1132664,1132747,1132860,1132928,1133304,1133317,1133741,1133752,1134139,1136363,1136371,1136397,1136844,1137213,1138201,1138341,1138444,1138787,1138795,1139449,1139451,1140222,1140744,1141924,1142583,1142635,1145057,1146644,1146915,1146962,1147219,1147242,1147335,1148344,1148354,1148429,1148658,1149054,1149090,1149270,1149482,1149662,1151101,1151612,1158108,1160593,1160597,1161208,1162737,1163131,1163616,1164358,1164370,1164495,1165221,1166313,1167017,1167226,1167470,1169692,1171227,1171665,1171672,1173446,1173647,1174436,1174646,1176633,1176636,1177589,1179374

Propchange: db/derby/code/branches/10.8/java/client/org/apache/derby/client/net/NetCursor.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Thu Oct  6 16:24:00 2011
@@ -1,2 +1,2 @@
 /db/derby/code/branches/10.7/java/client/org/apache/derby/client/net/NetCursor.java:1061570,1061578,1082235
-/db/derby/code/trunk/java/client/org/apache/derby/client/net/NetCursor.java:1063809,1088633,1089795,1091000,1091221,1091285,1092067,1092795,1094315,1094572,1094728,1095247,1096741,1096890,1096991,1097247,1097249,1097460,1097469,1097471,1098033,1101059,1101839,1102620,1102826,1103681,1103718,1103742,1104365,1125305,1126358,1126468,1127825,1127883,1128243,1128942,1129136,1129764,1129797,1130077,1130084,1130632,1130895,1131030,1131272,1132546,1132664,1132747,1132860,1132928,1133304,1133317,1133741,1133752,1134139,1136363,1136371,1136397,1136844,1137213,1138201,1138341,1138444,1138787,1138795,1139449,1139451,1140222,1140744,1141924,1142583,1142635,1145057,1145961,1146644,1146915,1146962,1147219,1147242,1147335,1148344,1148354,1148429,1148658,1149054,1149090,1149270,1149482,1149662,1151101,1151612,1158108,1160593,1160597,1161208,1162737,1163131,1163616,1164358,1164370,1164495,1165221,1167017,1167470,1169692,1171665,1171672,1173647,1174436,1176633,1176636,1177589
+/db/derby/code/trunk/java/client/org/apache/derby/client/net/NetCursor.java:1063809,1088633,1089795,1091000,1091221,1091285,1092067,1092795,1094315,1094572,1094728,1095247,1096741,1096890,1096991,1097247,1097249,1097460,1097469,1097471,1098033,1101059,1101839,1102620,1102826,1103681,1103718,1103742,1104365,1125305,1126358,1126468,1127825,1127883,1128243,1128942,1129136,1129764,1129797,1130077,1130084,1130632,1130895,1131030,1131272,1132546,1132664,1132747,1132860,1132928,1133304,1133317,1133741,1133752,1134139,1136363,1136371,1136397,1136844,1137213,1138201,1138341,1138444,1138787,1138795,1139449,1139451,1140222,1140744,1141924,1142583,1142635,1145057,1145961,1146644,1146915,1146962,1147219,1147242,1147335,1148344,1148354,1148429,1148658,1149054,1149090,1149270,1149482,1149662,1151101,1151612,1158108,1160593,1160597,1161208,1162737,1163131,1163616,1164358,1164370,1164495,1165221,1167017,1167470,1169692,1171665,1171672,1173647,1174436,1176633,1176636,1177589,1179374

Modified: db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/perf/clients/Runner.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/perf/clients/Runner.java?rev=1179692&r1=1179691&r2=1179692&view=diff
==============================================================================
--- db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/perf/clients/Runner.java
(original)
+++ db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/perf/clients/Runner.java
Thu Oct  6 16:24:00 2011
@@ -93,7 +93,10 @@ public class Runner {
         if (init) {
             DBFiller filler = getDBFiller();
             Connection conn = DriverManager.getConnection(url, user, password);
-            System.out.println("initializing database...");
+            System.out.print("initializing database for ");
+            System.out.println((Runner.getLoadOpt( "identityTest", 0 ) == 1)?
+            				"identity column testing...":
+            				"sequence generator testing...");
             filler.fill(conn);
             conn.close();
         }
@@ -250,6 +253,9 @@ public class Runner {
 "            - tablesPerGenerator: number of tables to create per sequence\n" +
 "            - insertsPerTransaction: number of inserts to perform per transaction\n" +
 "            - debugging: 1 means print debug chatter, 0 means do not print the chatter\n"
+
+"            - identityTest: 1 means do identity column testing, any other number \n" +
+"                    means do sequence generator testing. If no identityTest is specified
\n" +
+"                    then sequence generator testing will be done by default \n" +
 "  -load_opts: comma-separated list of load-specific options\n" +
 "  -gen: load generator, default: b2b, valid types:\n" +
 "      * b2b - clients perform operations back-to-back\n" +
@@ -259,7 +265,6 @@ public class Runner {
 "         load generator is \"poisson\", default: 100\n" +
 "  -wt: warmup time in seconds, default: 30\n" +
 "  -rt: time in seconds to collect results, default: 60";
-
     /**
      * Print the usage string.
      *

Modified: db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/perf/clients/SequenceGeneratorConcurrency.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/perf/clients/SequenceGeneratorConcurrency.java?rev=1179692&r1=1179691&r2=1179692&view=diff
==============================================================================
--- db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/perf/clients/SequenceGeneratorConcurrency.java
(original)
+++ db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/perf/clients/SequenceGeneratorConcurrency.java
Thu Oct  6 16:24:00 2011
@@ -32,7 +32,7 @@ import java.util.Random;
 
 /**
  * <p>
- * Machinery to test the concurrency of sequence generators.
+ * Machinery to test the concurrency of sequence/identity generators.
  * </p>
  */
 public class SequenceGeneratorConcurrency
@@ -53,6 +53,7 @@ public class SequenceGeneratorConcurrenc
         private int _numberOfGenerators;
         private int _tablesPerGenerator;
         private int _insertsPerTransaction;
+        private boolean _runIdentityTest;
         private boolean _debugging;
 
         public LoadOptions()
@@ -60,6 +61,8 @@ public class SequenceGeneratorConcurrenc
             _numberOfGenerators = Runner.getLoadOpt( "numberOfGenerators", 1 );
             _tablesPerGenerator = Runner.getLoadOpt( "tablesPerGenerator", 1 );
             _insertsPerTransaction = Runner.getLoadOpt( "insertsPerTransaction", 1 );
+            //If no identityTest is specified, then do sequence testing.
+            _runIdentityTest = ( Runner.getLoadOpt( "identityTest", 0 ) == 1);
             _debugging = ( Runner.getLoadOpt( "debugging", 0 ) == 1 );
         }
 
@@ -75,6 +78,9 @@ public class SequenceGeneratorConcurrenc
         /** Return whether we are in debugging mode */
         public boolean debugging() { return _debugging; }
 
+        /** Return whether we are doing identity column testing */
+        public boolean runIdentityTest() { return _runIdentityTest; }
+
         public String toString()
         {
             StringBuffer buffer = new StringBuffer();
@@ -83,6 +89,7 @@ public class SequenceGeneratorConcurrenc
             buffer.append( " generators = " + _numberOfGenerators );
             buffer.append( ", tablesPerGenerator = " + _tablesPerGenerator );
             buffer.append( ", insertsPerTransaction = " + _insertsPerTransaction );
+            buffer.append( ", identityTest = " + _runIdentityTest );
             buffer.append( ", debugging = " + _debugging );
             buffer.append( " )" );
 
@@ -115,14 +122,19 @@ public class SequenceGeneratorConcurrenc
         {
             int numberOfGenerators = _loadOptions.getNumberOfGenerators();
             int tablesPerGenerator = _loadOptions.getTablesPerGenerator();
+            boolean runIdentityTest = _loadOptions.runIdentityTest();
 
             for ( int sequence = 0; sequence < numberOfGenerators; sequence++ )
             {
-                runDDL( conn, "create sequence " + makeSequenceName( sequence ) );
+            	if (!runIdentityTest)
+                    runDDL( conn, "create sequence " + makeSequenceName( sequence ) );
 
                 for ( int table = 1; table <= tablesPerGenerator; table++ )
                 {
-                    runDDL( conn, "create table " + makeTableName( sequence, table ) + "(
a int )" );
+                	if (runIdentityTest)
+                        runDDL( conn, "create table " + makeTableName( sequence, table )
+ "( a int, b int generated always as identity)" );
+                	else
+                        runDDL( conn, "create table " + makeTableName( sequence, table )
+ "( a int )" );
                 }
             }
         }
@@ -183,6 +195,7 @@ public class SequenceGeneratorConcurrenc
             int numberOfGenerators = _loadOptions.getNumberOfGenerators();
             int tablesPerGenerator = _loadOptions.getTablesPerGenerator();
             boolean debugging = _loadOptions.debugging();
+            boolean runIdentityTest = _loadOptions.runIdentityTest();
 
             for ( int sequence = 0; sequence < numberOfGenerators; sequence++ )
             {
@@ -195,8 +208,18 @@ public class SequenceGeneratorConcurrenc
                     PreparedStatement ps;
                     String valuesClause = "values ( next value for " + sequenceName + " )";
 
-                    if ( table == 0 ) { ps = prepareStatement( _conn, debugging, valuesClause
); }
-                    else { ps = prepareStatement( _conn, debugging, "insert into " + tableName
+ "( a ) " + valuesClause ); }
+                    if ( table == 0 ){
+                    	if(!runIdentityTest) 
+                        	ps = prepareStatement( _conn, debugging, valuesClause );
+                    	else
+                        	ps = prepareStatement( _conn, debugging, "values (1)" );
+                    }
+                    else { 
+                    	if(!runIdentityTest) 
+                            ps = prepareStatement( _conn, debugging, "insert into " + tableName
+ "( a ) " + valuesClause ); 
+                    	else
+                        	ps = prepareStatement( _conn, debugging, "insert into " + tableName
+ "( a ) values(1)"); 
+                	}
                     
                     _psArray[ sequence ][ table ] = ps;
                 }



Mime
View raw message