| 1842 | } |
| 1843 | |
| 1844 | public static long hash(String sql, DbType dbType) { |
| 1845 | Lexer lexer = SQLParserUtils.createLexer(sql, dbType); |
| 1846 | |
| 1847 | StringBuilder buf = new StringBuilder(sql.length()); |
| 1848 | |
| 1849 | for (; ; ) { |
| 1850 | lexer.nextToken(); |
| 1851 | |
| 1852 | Token token = lexer.token(); |
| 1853 | if (token == Token.EOF) { |
| 1854 | break; |
| 1855 | } |
| 1856 | |
| 1857 | if (token == Token.ERROR) { |
| 1858 | return Utils.fnv_64(sql); |
| 1859 | } |
| 1860 | |
| 1861 | if (buf.length() != 0) { |
| 1862 | // skip |
| 1863 | } |
| 1864 | } |
| 1865 | |
| 1866 | return buf.hashCode(); |
| 1867 | } |
| 1868 | |
| 1869 | public static SQLExpr not(SQLExpr expr) { |
| 1870 | if (expr instanceof SQLBinaryOpExpr) { |