Skip to content

Commit e35cbb1

Browse files
authored
Merge pull request #1319 from sqlancer/refactor/schema-common-patterns
Refactor/schema common patterns
2 parents e0d3656 + e6a46c5 commit e35cbb1

File tree

18 files changed

+26
-50
lines changed

18 files changed

+26
-50
lines changed

src/sqlancer/clickhouse/ClickHouseSchema.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ public static ClickHouseSchema fromConnection(SQLConnection con, String database
216216
for (String tableName : tableNames) {
217217
List<ClickHouseColumn> databaseColumns = getTableColumns(con, tableName);
218218
List<TableIndex> indexes = Collections.emptyList();
219-
boolean isView = tableName.startsWith("v");
219+
boolean isView = matchesViewName(tableName);
220220
ClickHouseTable t = new ClickHouseTable(tableName, databaseColumns, indexes, isView);
221221
for (ClickHouseColumn c : databaseColumns) {
222222
c.setTable(t);

src/sqlancer/cockroachdb/CockroachDBSchema.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ public static CockroachDBSchema fromConnection(SQLConnection con, String databas
292292
for (String tableName : tableNames) {
293293
List<CockroachDBColumn> databaseColumns = getTableColumns(con, tableName);
294294
List<TableIndex> indexes = getIndexes(con, tableName);
295-
boolean isView = tableName.startsWith("v");
295+
boolean isView = matchesViewName(tableName);
296296
CockroachDBTable t = new CockroachDBTable(tableName, databaseColumns, indexes, isView);
297297
for (CockroachDBColumn c : databaseColumns) {
298298
c.setTable(t);

src/sqlancer/databend/DatabendSchema.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,7 @@ public static DatabendSchema fromConnection(SQLConnection con, String databaseNa
321321
List<String> tableNames = getTableNames(con, databaseName);
322322
for (String tableName : tableNames) {
323323
List<DatabendColumn> databaseColumns = getTableColumns(con, tableName, databaseName);
324-
boolean isView = tableName.startsWith("v");
324+
boolean isView = matchesViewName(tableName);
325325
DatabendTable t = new DatabendTable(tableName, databaseColumns, isView);
326326
for (DatabendColumn c : databaseColumns) {
327327
c.setTable(t);

src/sqlancer/datafusion/DataFusionSchema.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public static DataFusionSchema fromConnection(SQLConnection con, String database
3737

3838
for (String tableName : tableNames) {
3939
List<DataFusionColumn> databaseColumns = getTableColumns(con, tableName);
40-
boolean isView = tableName.startsWith("v");
40+
boolean isView = matchesViewName(tableName);
4141
DataFusionTable t = new DataFusionTable(tableName, databaseColumns, isView);
4242
for (DataFusionColumn c : databaseColumns) {
4343
c.setTable(t);

src/sqlancer/doris/DorisSchema.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -569,7 +569,7 @@ public static DorisSchema fromConnection(SQLConnection con, String databaseName)
569569
continue;
570570
}
571571
List<DorisColumn> databaseColumns = getTableColumns(con, tableName);
572-
boolean isView = tableName.startsWith("v");
572+
boolean isView = matchesViewName(tableName);
573573
DorisTable t = new DorisTable(tableName, databaseColumns, isView);
574574
for (DorisColumn c : databaseColumns) {
575575
c.setTable(t);

src/sqlancer/duckdb/DuckDBSchema.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ public static DuckDBSchema fromConnection(SQLConnection con, String databaseName
231231
continue; // TODO: unexpected?
232232
}
233233
List<DuckDBColumn> databaseColumns = getTableColumns(con, tableName);
234-
boolean isView = tableName.startsWith("v");
234+
boolean isView = matchesViewName(tableName);
235235
List<TableIndex> indexes = getIndexes(con, tableName);
236236
DuckDBTable t = new DuckDBTable(tableName, databaseColumns, indexes, isView);
237237
for (DuckDBColumn c : databaseColumns) {

src/sqlancer/hive/HiveSchema.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public static HiveSchema fromConnection(SQLConnection con, String databaseName)
5959
List<String> tableNames = getTableNames(con);
6060
for (String tableName : tableNames) {
6161
List<HiveColumn> databaseColumns = getTableColumns(con, tableName);
62-
boolean isView = tableName.startsWith("v");
62+
boolean isView = matchesViewName(tableName);
6363
HiveTable t = new HiveTable(tableName, databaseColumns, isView);
6464
for (HiveColumn c : databaseColumns) {
6565
c.setTable(t);

src/sqlancer/hsqldb/HSQLDBSchema.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public static HSQLDBSchema fromConnection(SQLConnection connection, String datab
2929
continue; // TODO: unexpected?
3030
}
3131
List<HSQLDBSchema.HSQLDBColumn> databaseColumns = getTableColumns(connection, tableName);
32-
boolean isView = tableName.startsWith("v");
32+
boolean isView = matchesViewName(tableName);
3333
HSQLDBSchema.HSQLDBTable t = new HSQLDBSchema.HSQLDBTable(tableName, databaseColumns, isView);
3434
for (HSQLDBSchema.HSQLDBColumn c : databaseColumns) {
3535
c.setTable(t);

src/sqlancer/materialize/gen/MaterializeViewGenerator.java

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,11 @@ public static SQLQueryAdapter create(MaterializeGlobalState globalState) {
3030
materialized = false;
3131
}
3232
sb.append(" VIEW ");
33-
int i = 0;
34-
String[] name = new String[1];
35-
while (true) {
36-
name[0] = "v" + i++;
37-
if (globalState.getSchema().getDatabaseTables().stream()
38-
.noneMatch(tab -> tab.getName().contentEquals(name[0]))) {
39-
break;
40-
}
41-
}
42-
sb.append(name[0]);
33+
String name = globalState.getSchema().getFreeViewName();
34+
sb.append(name);
4335
sb.append("(");
4436
int nrColumns = Randomly.smallNumber() + 1;
45-
for (i = 0; i < nrColumns; i++) {
37+
for (int i = 0; i < nrColumns; i++) {
4638
if (i != 0) {
4739
sb.append(", ");
4840
}

src/sqlancer/postgres/PostgresSchema.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -250,9 +250,9 @@ public static PostgresSchema fromConnection(SQLConnection con, String databaseNa
250250
boolean isPartitioned = "p".equals(rs.getString("relkind"));
251251
// TODO: also check insertable
252252
// TODO: insert into view?
253-
boolean isView = tableName.startsWith("v"); // tableTypeStr.contains("VIEW") ||
254-
// tableTypeStr.contains("LOCAL TEMPORARY") &&
255-
// !isInsertable;
253+
boolean isView = matchesViewName(tableName); // tableTypeStr.contains("VIEW") ||
254+
// tableTypeStr.contains("LOCAL TEMPORARY") &&
255+
// !isInsertable;
256256
PostgresTable.TableType tableType = getTableType(tableTypeSchema);
257257
List<PostgresColumn> databaseColumns = getTableColumns(con, tableName);
258258
List<PostgresIndex> indexes = getIndexes(con, tableName);

0 commit comments

Comments
 (0)