Skip to content

Commit fea8575

Browse files
committed
fixes #1502
1 parent 0949df9 commit fea8575

File tree

3 files changed

+21
-2
lines changed

3 files changed

+21
-2
lines changed

src/main/java/net/sf/jsqlparser/util/validation/validator/SelectValidator.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,13 @@ public void visit(PlainSelect plainSelect) {
9292
validateOptionalFeature(c, plainSelect.getOptimizeFor(), Feature.optimizeFor);
9393
} // end for
9494

95-
validateOptionalList(plainSelect.getSelectItems(), () -> this, (e, v) -> e.accept(v));
96-
9795
validateOptionalFromItem(plainSelect.getFromItem());
9896
validateOptionalFromItems(plainSelect.getIntoTables());
9997
validateOptionalJoins(plainSelect.getJoins());
98+
99+
// to correctly recognize aliased tables
100+
validateOptionalList(plainSelect.getSelectItems(), () -> this, (e, v) -> e.accept(v));
101+
100102
validateOptionalExpression(plainSelect.getWhere());
101103
validateOptionalExpression(plainSelect.getOracleHierarchical());
102104

src/test/java/net/sf/jsqlparser/util/validation/metadata/DatabaseMetaDataValidationTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,4 +131,10 @@ public void testValidationDropViewDoesNotExist() throws JSQLParserException, SQL
131131
validateMetadata(sql, 1, 1, meta, true, String.format("public.anotherView", databaseName));
132132
}
133133

134+
@Test
135+
public void testValidationMetadataSelectWithColumnsAndAlias2() throws JSQLParserException, SQLException {
136+
String sql = "select my.id from mytable as my";
137+
JdbcDatabaseMetaDataCapability meta = new JdbcDatabaseMetaDataCapability(connection, NamesLookup.UPPERCASE);
138+
validateNoErrors(sql, 1, DatabaseType.H2, meta); // no errors
139+
}
134140
}

src/test/java/net/sf/jsqlparser/util/validation/validator/SelectValidatorTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,4 +178,15 @@ public void testValidateLateral() throws JSQLParserException {
178178
1, DatabaseType.POSTGRESQL, DatabaseType.ORACLE);
179179
}
180180

181+
@Test
182+
public void testValidateIssue1502() throws JSQLParserException {
183+
validateNoErrors(
184+
"select b.id, name ,(select name from Blog where name = 'sadf') as name2 "
185+
+ ", category, owner, b.update_time "
186+
+ "from Blog as b "
187+
+ "left join Content "
188+
+ "ON b.id = Content.blog_id "
189+
+ "where name = 'sadf' order by Content.title desc",
190+
1, DatabaseType.POSTGRESQL);
191+
}
181192
}

0 commit comments

Comments
 (0)