@@ -51,7 +51,7 @@ private QuickSqlTestData(DatasetRowsGenerator datasetRowsGenerator, DatabaseType
51
51
52
52
/**
53
53
* Factory method to build an instance of <code>org.qstd.QuickSqlTestData</code> from a data source.
54
- * The retrieval of database metadata, such as not null columns or primary keys, is cached for each table.
54
+ * <em> The retrieval of database metadata, such as not null columns or primary keys, is cached for each table.</em>
55
55
* @param dataSource A data source
56
56
* @return An instance of <code>org.qstd.QuickSqlTestData</code>
57
57
*/
@@ -63,37 +63,85 @@ public static QuickSqlTestData buildFrom(DataSource dataSource) {
63
63
return buildFrom (dataSource , dbType , databaseMetadataFinderWithCache );
64
64
}
65
65
66
+ /**
67
+ * Factory method to build an instance of <code>org.qstd.QuickSqlTestData</code> from a data source,
68
+ * a database type and a database metadata finder.
69
+ * @param dataSource A datasource
70
+ * @param dbType A database type
71
+ * @param databaseMetadataFinder A database metadata finder
72
+ * @return An instance of <code>org.qstd.QuickSqlTestData</code>
73
+ */
66
74
public static QuickSqlTestData buildFrom (DataSource dataSource , DatabaseType dbType , DatabaseMetadataFinder databaseMetadataFinder ) {
67
75
DatasetRowsGenerator datasetRowsGenerator = new DatasetRowsGenerator (dataSource , dbType , databaseMetadataFinder );
68
76
return new QuickSqlTestData (datasetRowsGenerator , dbType );
69
77
}
70
78
79
+ /**
80
+ * Generates an SQL script allowing to test the SQL query given in parameter.
81
+ * This script contains INSERT statements.
82
+ * It takes into account the database integrity constraints.
83
+ * @param sqlQuery An SQL query
84
+ * @return An SQL script allowing to test the SQL query given in parameter
85
+ */
71
86
public String generateInsertScriptFor (String sqlQuery ) {
72
87
return generateInsertScriptFor (sqlQuery , emptyList ());
73
88
}
74
89
90
+ /**
91
+ * Generates an SQL script allowing to test an SQL query with its bind parameter values.
92
+ * This script contains INSERT statements.
93
+ * It takes into account the database integrity constraints.
94
+ * @param query An SQL query with bind parameters
95
+ * @param parameters Bind parameter values
96
+ * @return An SQL script allowing to test the SQL query with its bind parameter values
97
+ */
75
98
public String generateInsertScriptFor (String query , List <Object > parameters ) {
76
99
List <SqlQuery > sqlQueries = singletonList (new SqlQuery (query , parameters ));
77
100
return generateInsertScriptFor (sqlQueries );
78
101
}
79
102
103
+ /**
104
+ * Generates an SQL script allowing to test the list of SQL queries given in parameter.
105
+ * This script contains INSERT statements.
106
+ * It takes into account the database integrity constraints.
107
+ * @param sqlQueries SQL queries
108
+ * @return An SQL script allowing to test the SQL queries given in parameter
109
+ */
80
110
public String generateInsertScriptFor (List <SqlQuery > sqlQueries ) {
81
111
List <DatasetRow > datasetRows = datasetRowsGenerator .generateDatasetRowsFor (sqlQueries );
82
112
return insertStatementGenerator .generateInsertScriptFor (datasetRows );
83
113
}
84
114
115
+ /**
116
+ * Generates a list of INSERT statements allowing to test the list of SQL queries given in parameter.
117
+ * These INSERT statements take into account the database integrity constraints.
118
+ * @param sqlQueries SQL queries
119
+ * @return An SQL script allowing to test the SQL queries given in parameter
120
+ */
85
121
public String generateInsertScriptFor (String ... sqlQueries ) {
86
122
List <SqlQuery > queries = stream (sqlQueries )
87
123
.map (SqlQuery ::new )
88
124
.collect (toList ());
89
125
return generateInsertScriptFor (queries );
90
126
}
91
127
128
+ /**
129
+ * Generates a list of INSERT statements allowing to create in database the dataset row given in parameter.
130
+ * These INSERT statements take into account the database integrity constraints.
131
+ * @param datasetRow A dataset row
132
+ * @return A list of INSERT statements allowing to create in database the dataset row given in parameter
133
+ */
92
134
public List <String > generateInsertListFor (DatasetRow datasetRow ) {
93
135
SqlQuery sqlQuery = SqlQuery .buildFromRow (datasetRow , dbType );
94
136
return generateInsertListFor (sqlQuery .toString ());
95
137
}
96
138
139
+ /**
140
+ * Generates a list of INSERT statements allowing to test the SQL queries given in parameter.
141
+ * These INSERT statements take into account the database integrity constraints.
142
+ * @param sqlQueries SQL queries
143
+ * @return A list of INSERT statements allowing to test the SQL queries given in parameter
144
+ */
97
145
public List <String > generateInsertListFor (String ... sqlQueries ) {
98
146
List <SqlQuery > sqlQueryObjects = stream (sqlQueries )
99
147
.map (SqlQuery ::new )
0 commit comments