| /* |
| * Copyright (C) 2007 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package tests.support; |
| |
| import java.sql.Connection; |
| import java.sql.Date; |
| import java.sql.SQLException; |
| import java.sql.Statement; |
| import java.sql.Time; |
| |
| public class DatabaseCreator { |
| public static final int defaultInt = 2; |
| |
| public static final String defaultString = "string"; |
| |
| public static final String defaultCharacter = "chr"; |
| |
| public static final double defaultDouble = 0.1; |
| |
| public static final String TEST_TABLE1 = "table1"; |
| |
| public static final String TEST_TABLE2 = "table2"; |
| |
| public static final String TEST_TABLE3 = "table3"; |
| |
| public static final String TEST_TABLE4 = "table4"; |
| |
| public static final String SALESPEOPLE_TABLE = "Salespeople"; |
| |
| public static final String CUSTOMERS_TABLE = "Customers"; |
| |
| public static final String ORDERS_TABLE = "Orders"; |
| |
| public static final String PARENT_TABLE = "test_names"; |
| |
| public static final String FKSTRICT_TABLE = "test_strict"; |
| |
| public static final String FKCASCADE_TABLE = "test_cascade"; |
| |
| public static final String TEST_TABLE5 = "test"; |
| |
| public static final String SIMPLE_TABLE1 = "simple_table1"; |
| |
| public static final String SIMPLE_TABLE2 = "simple_table2"; |
| |
| public static final String SIMPLE_TABLE3 = "simple_table3"; |
| |
| public static final String CREATE_TABLE1 = "CREATE TABLE " + TEST_TABLE1 |
| + " (id INTEGER NOT NULL," + " field1 CHAR(100) DEFAULT NULL," |
| + " field2 DECIMAL " //+ defaultInt |
| + " COMMENT 'field2_rem'," + " field3 DECIMAL," + " fkey INTEGER," |
| + " PRIMARY KEY (id) FOREIGN KEY (fkey) REFERENCES " |
| + TEST_TABLE3 + "(fk))"; |
| |
| public static final String CREATE_TABLE2 = "CREATE TABLE " + TEST_TABLE2 |
| + " ( " + "finteger integer NOT NULL, " + "ftext text, " |
| + "fcharacter character (5), " + "fdecimal decimal (5,1), " |
| + "fnumeric numeric (4,1), " + "fsmallint smallint, " |
| + "ffloat float, " + "freal real, " + "fdouble double, " |
| + "fdate date," + " ftime time, PRIMARY KEY (finteger))"; |
| |
| public static final String CREATE_TABLE3 = "CREATE TABLE " + TEST_TABLE3 |
| + " (fk INTEGER NOT NULL," + "" + " PRIMARY KEY (fk))"; |
| |
| public static final String CREATE_TABLE4 = "CREATE TABLE " + TEST_TABLE4 |
| + " (fk INTEGER NOT NULL," + " field1 CHAR(100) NOT NULL," |
| + " PRIMARY KEY (fk))"; |
| |
| public static final String CREATE_TABLE5 = "CREATE TABLE " + TEST_TABLE5 |
| + "( testId INTEGER NOT NULL, testValue CHAR(200))"; |
| |
| public static final String CREATE_TABLE_SALESPEOPLE = "CREATE TABLE " |
| + SALESPEOPLE_TABLE + " (snum integer, sname character (10)," |
| + " city character (10), comm real, PRIMARY KEY (snum))"; |
| |
| public static final String CREATE_TABLE_CUSTOMERS = "CREATE TABLE " |
| + CUSTOMERS_TABLE |
| + " (cnum integer, cname character (10), city character (10)," |
| + " rating integer, snum integer, PRIMARY KEY (cnum))"; |
| |
| public static final String CREATE_TABLE_ORDERS = "CREATE TABLE " |
| + ORDERS_TABLE |
| + " (onum integer, amt real, odate date, cnum integer," |
| + " snum integer, PRIMARY KEY (onum))"; |
| |
| public static final String CREATE_TABLE_PARENT = "CREATE TABLE " |
| + PARENT_TABLE + "(id INTEGER NOT NULL, " |
| + "name CHAR(200), PRIMARY KEY(id))"; |
| |
| public static final String CREATE_TABLE_FKSTRICT = "CREATE TABLE " |
| + FKSTRICT_TABLE + "(id INTEGER NOT NULL," + "name_id INTEGER," |
| + "value CHAR(200), PRIMARY KEY(id), " |
| + "CONSTRAINT fk1 FOREIGN KEY (name_id) " + "REFERENCES " |
| + PARENT_TABLE + " (id) " + "ON DELETE RESTRICT " |
| + "ON UPDATE RESTRICT)"; |
| |
| public static final String CREATE_TABLE_FKCASCADE = "CREATE TABLE " |
| + FKCASCADE_TABLE + "(id INTEGER NOT NULL," + "name_id INTEGER," |
| + "value CHAR(200), PRIMARY KEY(id), " |
| + "CONSTRAINT fk2 FOREIGN KEY (name_id) " + "REFERENCES " |
| + PARENT_TABLE + " (id) " + "ON DELETE CASCADE " |
| + "ON UPDATE CASCADE)"; |
| |
| public static final String CREATE_TABLE_SIMPLE1 = "CREATE TABLE " |
| + SIMPLE_TABLE1 + "(id INTEGER NOT NULL," + "speed INTEGER," |
| + "size INTEGER)"; |
| |
| public static final String CREATE_TABLE_SIMPLE2 = "CREATE TABLE " |
| + SIMPLE_TABLE2 + "(id INTEGER NOT NULL," + "speed INTEGER," |
| + "size INTEGER)"; |
| |
| public static final String CREATE_TABLE_SIMPLE3 = "CREATE TABLE " |
| + SIMPLE_TABLE3 + "(id INTEGER NOT NULL," + "speed INTEGER)"; |
| |
| public static final String DROP_TABLE1 = "DROP TABLE " + TEST_TABLE1; |
| |
| public static final String DROP_TABLE2 = "DROP TABLE " + TEST_TABLE2; |
| |
| public static final String DROP_TABLE3 = "DROP TABLE " + TEST_TABLE3; |
| |
| public static final String DROP_TABLE4 = "DROP TABLE " + TEST_TABLE4; |
| |
| public static final String DROP_TABLE5 = "DROP TABLE " + TEST_TABLE5; |
| |
| public static final String DROP_TABLE_CUSTOMERS = "DROP TABLE " |
| + CUSTOMERS_TABLE; |
| |
| public static final String DROP_TABLE_ORDERS = "DROP TABLE " + ORDERS_TABLE; |
| |
| public static final String DROP_TABLE_SALESPEOPLE = "DROP TABLE " |
| + SALESPEOPLE_TABLE; |
| |
| public static final String DROP_TABLE_PARENT = "DROP TABLE " + PARENT_TABLE; |
| |
| public static final String DROP_TABLE_FKSTRICT = "DROP TABLE " |
| + FKSTRICT_TABLE; |
| |
| public static final String DROP_TABLE_FKCASCADE = "DROP TABLE " |
| + FKCASCADE_TABLE; |
| |
| public static final String DROP_TABLE_SIMPLE1 = "DROP TABLE " |
| + SIMPLE_TABLE1; |
| |
| public static final String DROP_TABLE_SIMPLE2 = "DROP TABLE " |
| + SIMPLE_TABLE2; |
| |
| public static final String DROP_TABLE_SIMPLE3 = "DROP TABLE " |
| + SIMPLE_TABLE3; |
| |
| public static final String INSERT_SALESPEOPLE1 = " INSERT INTO " |
| + SALESPEOPLE_TABLE + " (snum, sname, city, comm) " |
| + "VALUES (1001, 'Peel', 'London', .12)"; |
| |
| public static final String INSERT_SALESPEOPLE2 = " INSERT INTO " |
| + SALESPEOPLE_TABLE + " (snum, sname, city, comm) " |
| + "VALUES (1002, 'Serres', 'SanJose', .13)"; |
| |
| public static final String INSERT_SALESPEOPLE3 = " INSERT INTO " |
| + SALESPEOPLE_TABLE + " (snum, sname, city, comm) " |
| + "VALUES (1004, 'Motika', 'London', .11)"; |
| |
| public static final String INSERT_SALESPEOPLE4 = " INSERT INTO " |
| + SALESPEOPLE_TABLE + " (snum, sname, city, comm) " |
| + "VALUES (1007, 'Rifkin', 'Barcelona', .15)"; |
| |
| public static final String INSERT_SALESPEOPLE5 = " INSERT INTO " |
| + SALESPEOPLE_TABLE + " (snum, sname, city, comm) " |
| + "VALUES (1003, 'Axelrod', 'NewYork', .10)"; |
| |
| public static final String INSERT_SALESPEOPLE6 = " INSERT INTO " |
| + SALESPEOPLE_TABLE + " (snum, sname, city, comm) " |
| + "VALUES (1013, 'Simpson', 'Kasan', .25)"; |
| |
| public static final String INSERT_CUSTOMERS1 = " INSERT INTO " |
| + CUSTOMERS_TABLE + " (cnum, cname, city, rating, snum)" |
| + " VALUES (2001, 'Hoffman', 'London', 100, 1001)"; |
| |
| public static final String INSERT_CUSTOMERS2 = " INSERT INTO " |
| + CUSTOMERS_TABLE + " (cnum, cname, city, rating, snum) " |
| + "VALUES (2002, 'Giovanni', 'Rome', 200, 1003)"; |
| |
| public static final String INSERT_CUSTOMERS3 = " INSERT INTO " |
| + CUSTOMERS_TABLE + " (cnum, cname, city, rating, snum) " |
| + "VALUES (2003, 'Liu', 'SanJose', 200, 1002)"; |
| |
| public static final String INSERT_CUSTOMERS4 = " INSERT INTO " |
| + CUSTOMERS_TABLE + " (cnum, cname, city, rating, snum) " |
| + "VALUES (2004, 'Grass', 'Berlin', 300, 1002)"; |
| |
| public static final String INSERT_CUSTOMERS5 = " INSERT INTO " |
| + CUSTOMERS_TABLE + " (cnum, cname, city, rating, snum) " |
| + "VALUES (2006, 'Clemens', 'London', 100, 1001)"; |
| |
| public static final String INSERT_CUSTOMERS6 = " INSERT INTO " |
| + CUSTOMERS_TABLE + " (cnum, cname, city, rating, snum) " |
| + "VALUES (2008, 'Cisneros', 'SanJose', 300, 1007)"; |
| |
| public static final String INSERT_CUSTOMERS7 = " INSERT INTO " |
| + CUSTOMERS_TABLE + " (cnum, cname, city, rating, snum) " |
| + "VALUES (2007, 'Pereira', 'Rome', 100, 1004)"; |
| |
| public static final String INSERT_ORDERS1 = " INSERT INTO " + ORDERS_TABLE |
| + " (onum, amt, odate, cnum, snum) " |
| + "VALUES (3001, 18.69, 10/03/1990, 2008, 1007)"; |
| |
| public static final String INSERT_ORDERS2 = " INSERT INTO " + ORDERS_TABLE |
| + " (onum, amt, odate, cnum, snum) " |
| + "VALUES (3003, 767.19, 10/03/1990, 2001, 1001)"; |
| |
| public static final String INSERT_ORDERS3 = " INSERT INTO " + ORDERS_TABLE |
| + " (onum, amt, odate, cnum, snum) " |
| + "VALUES (3002, 1900.10, 10/03/1990, 2007, 1004)"; |
| |
| public static final String INSERT_ORDERS4 = " INSERT INTO " + ORDERS_TABLE |
| + " (onum, amt, odate, cnum, snum) " |
| + "VALUES (3005, 5160.45, 10/03/1990, 2003, 1002)"; |
| |
| public static final String INSERT_ORDERS5 = " INSERT INTO " + ORDERS_TABLE |
| + " (onum, amt, odate, cnum, snum) " |
| + "VALUES (3006, 1098.16, 10/03/1990, 2008, 1007)"; |
| |
| public static final String INSERT_ORDERS6 = " INSERT INTO " + ORDERS_TABLE |
| + " (onum, amt, odate, cnum, snum) " |
| + "VALUES (3009, 1713.23, 10/04/1990, 2002, 1003)"; |
| |
| public static final String INSERT_ORDERS7 = " INSERT INTO " + ORDERS_TABLE |
| + " (onum, amt, odate, cnum, snum) " |
| + "VALUES (3007, 75.75, 10/04/1990, 2004, 1002)"; |
| |
| public static final String INSERT_ORDERS8 = " INSERT INTO " + ORDERS_TABLE |
| + " (onum, amt, odate, cnum, snum) " |
| + "VALUES (3008, 4723.01, 10/05/1990, 2006, 1001)"; |
| |
| public static final String INSERT_ORDERS9 = " INSERT INTO " + ORDERS_TABLE |
| + " (onum, amt, odate, cnum, snum) " |
| + "VALUES (3010, 1309.95, 10/06/1990, 2004, 1002)"; |
| |
| public static final String INSERT_ORDERS10 = " INSERT INTO " + ORDERS_TABLE |
| + " (onum, amt, odate, cnum, snum) " |
| + "VALUES (3011, 9891.88, 10/06/1990, 2006, 1001)"; |
| |
| public static void fillParentTable(Connection conn) throws SQLException { |
| Statement statement = conn.createStatement(); |
| statement |
| .execute("INSERT INTO " + PARENT_TABLE + " VALUES(1, 'test1')"); |
| statement.execute("INSERT INTO " + PARENT_TABLE + " VALUES(2,'test2')"); |
| statement |
| .execute("INSERT INTO " + PARENT_TABLE + " VALUES(3, 'test3')"); |
| } |
| |
| public static void fillFKStrictTable(Connection conn) throws SQLException { |
| Statement statement = conn.createStatement(); |
| statement.execute("INSERT INTO " + FKSTRICT_TABLE |
| + " VALUES(1, 1, '1')"); |
| statement.execute("INSERT INTO " + FKSTRICT_TABLE |
| + " VALUES(2, 2, '2')"); |
| statement.execute("INSERT INTO " + FKSTRICT_TABLE |
| + " VALUES(3, 1, '3')"); |
| } |
| |
| public static void fillFKCascadeTable(Connection conn) throws SQLException { |
| Statement statement = conn.createStatement(); |
| statement.execute("INSERT INTO " + FKCASCADE_TABLE |
| + " VALUES(1, 1, '1')"); |
| statement.execute("INSERT INTO " + FKCASCADE_TABLE |
| + " VALUES(2, 2, '2')"); |
| statement.execute("INSERT INTO " + FKCASCADE_TABLE |
| + " VALUES(3, 1, '3')"); |
| } |
| |
| public static void fillSimpleTable1(Connection conn) throws SQLException { |
| Statement statement = conn.createStatement(); |
| statement |
| .execute("INSERT INTO " + SIMPLE_TABLE1 + " VALUES(1, 10, 20)"); |
| statement.execute("INSERT INTO " + SIMPLE_TABLE1 + " VALUES(2, 5, 7)"); |
| } |
| |
| public static void fillSimpleTable3(Connection conn) throws SQLException { |
| Statement statement = conn.createStatement(); |
| statement.execute("INSERT INTO " + SIMPLE_TABLE3 + " VALUES(1, 8)"); |
| statement.execute("INSERT INTO " + SIMPLE_TABLE3 + " VALUES(2, 6)"); |
| statement.execute("INSERT INTO " + SIMPLE_TABLE3 + " VALUES(3, 4)"); |
| } |
| |
| public static void fillSalesPeopleTable(Connection conn) |
| throws SQLException { |
| Statement statement = conn.createStatement(); |
| |
| statement.execute(DatabaseCreator.INSERT_SALESPEOPLE1); |
| statement.execute(DatabaseCreator.INSERT_SALESPEOPLE2); |
| statement.execute(DatabaseCreator.INSERT_SALESPEOPLE3); |
| statement.execute(DatabaseCreator.INSERT_SALESPEOPLE4); |
| statement.execute(DatabaseCreator.INSERT_SALESPEOPLE5); |
| statement.execute(DatabaseCreator.INSERT_SALESPEOPLE6); |
| } |
| |
| public static void fillCustomersTable(Connection conn) throws SQLException { |
| Statement statement = conn.createStatement(); |
| |
| statement.execute(DatabaseCreator.INSERT_CUSTOMERS1); |
| statement.execute(DatabaseCreator.INSERT_CUSTOMERS2); |
| statement.execute(DatabaseCreator.INSERT_CUSTOMERS3); |
| statement.execute(DatabaseCreator.INSERT_CUSTOMERS4); |
| statement.execute(DatabaseCreator.INSERT_CUSTOMERS5); |
| statement.execute(DatabaseCreator.INSERT_CUSTOMERS6); |
| statement.execute(DatabaseCreator.INSERT_CUSTOMERS7); |
| } |
| |
| public static void fillOrdersTable(Connection conn) throws SQLException { |
| Statement statement = conn.createStatement(); |
| |
| statement.execute(DatabaseCreator.INSERT_ORDERS1); |
| statement.execute(DatabaseCreator.INSERT_ORDERS2); |
| statement.execute(DatabaseCreator.INSERT_ORDERS3); |
| statement.execute(DatabaseCreator.INSERT_ORDERS4); |
| statement.execute(DatabaseCreator.INSERT_ORDERS5); |
| statement.execute(DatabaseCreator.INSERT_ORDERS6); |
| statement.execute(DatabaseCreator.INSERT_ORDERS7); |
| statement.execute(DatabaseCreator.INSERT_ORDERS8); |
| statement.execute(DatabaseCreator.INSERT_ORDERS9); |
| statement.execute(DatabaseCreator.INSERT_ORDERS10); |
| } |
| |
| public static void fillTestTable1(Connection conn, int numberOfRecords) |
| throws SQLException { |
| Statement statement = conn.createStatement(); |
| for (int id = 0; id < numberOfRecords; id++) { |
| String value = DatabaseCreator.defaultString + id; |
| String insertQuery = "INSERT INTO " + DatabaseCreator.TEST_TABLE1 |
| + " (id, field1, field2, field3) VALUES(" + id + ", '" |
| + value + "', " + id + ", " + id + ")"; |
| statement.execute(insertQuery); |
| } |
| } |
| |
| public static void fillTestTable2(Connection conn, int startID, int endID, |
| long time) throws SQLException { |
| Statement statement = conn.createStatement(); |
| for (int id = startID; id <= endID; id++) { |
| double value = id + DatabaseCreator.defaultDouble; |
| String insertQuery = "INSERT INTO " + DatabaseCreator.TEST_TABLE2 |
| + " (finteger, ftext, fcharacter, fdecimal, fnumeric," |
| + " fsmallint, ffloat, freal, fdouble, fdate, ftime)" |
| + " VALUES (" + id + ", '" + DatabaseCreator.defaultString |
| + id + "'," + " '" + DatabaseCreator.defaultCharacter + id |
| + "', " + value + ", " + value + "," + value + ", " + value |
| + ", " + value + "," + value + ", '" |
| + new Date(time).toString() + "'," + " '" |
| + new Time(time).toString() + "')"; |
| statement.execute(insertQuery); |
| } |
| } |
| |
| public static void fillTestTable2(Connection conn, int numberOfRecords) |
| throws SQLException { |
| Statement statement = conn.createStatement(); |
| for (int id = 0; id < numberOfRecords; id++) { |
| double value = id + DatabaseCreator.defaultDouble; |
| String insertQuery = "INSERT INTO " + DatabaseCreator.TEST_TABLE2 |
| + " (finteger, ftext, fcharacter, fdecimal, fnumeric," |
| + " fsmallint, ffloat, freal, fdouble)" + " VALUES (" + id |
| + ", '" + DatabaseCreator.defaultString + id + "'," + " '" |
| + DatabaseCreator.defaultCharacter + id + "', " + value |
| + ", " + value + "," + value + ", " + value + ", " + value |
| + "," + value + ")"; |
| statement.execute(insertQuery); |
| } |
| } |
| |
| public static void fillTestTable4(Connection conn, int numberOfRecords) |
| throws SQLException { |
| Statement statement = conn.createStatement(); |
| for (int id = 0; id < numberOfRecords; id++) { |
| String insertQuery = "INSERT INTO " + DatabaseCreator.TEST_TABLE4 |
| + " (fk, field1) VALUES(" + id + ", \"" |
| + DatabaseCreator.defaultString + id + "\")"; |
| statement.execute(insertQuery); |
| } |
| } |
| |
| public static void fillTestTable5(Connection conn) throws SQLException { |
| Statement statement = conn.createStatement(); |
| statement.execute("INSERT INTO " + TEST_TABLE5 + " VALUES(1, '0')"); |
| statement.execute("INSERT INTO " + TEST_TABLE5 + " VALUES(2, '3')"); |
| statement.execute("INSERT INTO " + TEST_TABLE5 + " VALUES(3, '4')"); |
| } |
| } |