diff --git a/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/SimpleSQLParser.java b/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/SimpleSQLParser.java index 032c34a..3fb09e8 100644 --- a/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/SimpleSQLParser.java +++ b/jdbcmapper/src/main/java/com/moparisthebest/jdbc/codegen/SimpleSQLParser.java @@ -10,7 +10,7 @@ public class SimpleSQLParser extends AbstractSQLParser { private static final Pattern aliasPattern = Pattern.compile("^.*\\."); private static final Pattern parenPattern = Pattern.compile("\\([^)]+\\)"); - private static final Pattern fromPattern = Pattern.compile("\\s+FROM\\s+"); + private static final Pattern fromPattern = Pattern.compile("[\\s)]+FROM[\\s(]+"); public SimpleSQLParser() { super(null, false); diff --git a/test/src/test/java/com/moparisthebest/jdbc/codegen/SimpleSQLParserTest.java b/test/src/test/java/com/moparisthebest/jdbc/codegen/SimpleSQLParserTest.java index ac37967..82e9103 100644 --- a/test/src/test/java/com/moparisthebest/jdbc/codegen/SimpleSQLParserTest.java +++ b/test/src/test/java/com/moparisthebest/jdbc/codegen/SimpleSQLParserTest.java @@ -37,6 +37,11 @@ public class SimpleSQLParserTest { assertTrue(ret.isSelect()); assertArrayEquals(new String[]{null, "SOMETHING_FROM_BOB"}, ret.columnNames()); } + { + final SQLParser ret = getFactory().parse("select something_from_bob from( tom)"); + assertTrue(ret.isSelect()); + assertArrayEquals(new String[]{null, "SOMETHING_FROM_BOB"}, ret.columnNames()); + } } @Test