Test generator for database management systems
First Claim
1. A computerized method for creating a SQL statement, the method comprising:
- generating a SQL statement having a from clause, the from clause include a plurality of table names;
creating a plurality of table sets from the plurality of table names;
iterating of the plurality of table sets until one table set remains and for each iteration performing the tasks of;
selecting a first table set and a second table set from the plurality of table sets;
selecting a first table from the first table set and selecting a second table from the second table set;
selecting a first column in the first table and selecting a second column from the second table;
inserting into a where clause for the SQL statement a predicate including the first column and the second column; and
merging the first table set and the second table set.
2 Assignments
0 Petitions
Accused Products
Abstract
A test generator produces a set of database query-language statements comprised of randomly chosen elements for testing one or more database management systems on arbitrary databases. The statements are syntactically correct according to the query language, and are semantically correct according to the query language and according to the schema of the target database. A configuration file further specifies parameters of the test statements, in terms of maximum elements, weights of different elements, etc. The generated statements include predicates in which tables in a from clause are tightly joined. In addition, a dictionary of words randomly selected from text columns in a test database is maintained and used to create predicates having words that actually appear in the row data.
-
Citations
18 Claims
-
1. A computerized method for creating a SQL statement, the method comprising:
-
generating a SQL statement having a from clause, the from clause include a plurality of table names;
creating a plurality of table sets from the plurality of table names;
iterating of the plurality of table sets until one table set remains and for each iteration performing the tasks of;
selecting a first table set and a second table set from the plurality of table sets;
selecting a first table from the first table set and selecting a second table from the second table set;
selecting a first column in the first table and selecting a second column from the second table;
inserting into a where clause for the SQL statement a predicate including the first column and the second column; and
merging the first table set and the second table set. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-readable medium having computer-executable instructions for performing a method for creating a SQL statement, the method comprising:
-
generating a SQL statement having a from clause, the from clause include a plurality of table names;
creating a plurality of table sets from the plurality of table names;
iterating of the plurality of table sets until one table set remains and for each iteration performing the tasks of;
selecting a first table set and a second table set from the plurality of table sets;
selecting a first table from the first table set and selecting a second table from the second table set;
selecting a first column in the first table and selecting a second column from the second table;
inserting into a where clause for the SQL statement a predicate including the first column and the second column; and
merging the first table set and the second table set. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
Specification