return jdbcInfo("VARCHAR(255)", Types.VARCHAR); } else if (type.isClob() || type.length > 65535) { return jdbcInfo("LONGTEXT", Types.LONGVARCHAR); } else { return jdbcInfo("VARCHAR(%d)", type.length, Types.VARCHAR); return jdbcInfo("BIT", Types.BIT); case LONG: return jdbcInfo("BIGINT", Types.BIGINT); case DOUBLE: return jdbcInfo("DOUBLE", Types.DOUBLE); case TIMESTAMP: return jdbcInfo("DATETIME(3)", Types.TIMESTAMP); case BLOBID: return jdbcInfo("VARCHAR(250) BINARY", Types.VARCHAR); case BLOB: return jdbcInfo("LONGBLOB", Types.BLOB); case NODEIDPK: case NODEVAL: return jdbcInfo("VARCHAR(36) BINARY", Types.VARCHAR); case SYSNAME: case SYSNAMEARRAY: return jdbcInfo("VARCHAR(255) BINARY", Types.VARCHAR); case TINYINT: return jdbcInfo("TINYINT", Types.TINYINT); case INTEGER: return jdbcInfo("INTEGER", Types.INTEGER);
@Override public String getDialectFulltextQuery(String query) { query = query.replace("%", "*"); FulltextQuery ft = FulltextQueryAnalyzer.analyzeFulltextQuery(query); if (ft == null || ft.op == Op.NOTWORD) { return "DONTMATCHANYTHINGFOREMPTYQUERY"; } StringBuilder buf = new StringBuilder(); translateForMySQL(ft, null, buf); return buf.toString(); }
@Override @SuppressWarnings("boxing") public Serializable getFromResultSet(ResultSet rs, int index, Column column) throws SQLException { switch (column.getJdbcType()) { case Types.VARCHAR: case Types.LONGVARCHAR: return getFromResultSetString(rs, index, column); case Types.BIT: return rs.getBoolean(index); case Types.TINYINT: case Types.INTEGER: case Types.BIGINT: return rs.getLong(index); case Types.DOUBLE: return rs.getDouble(index); case Types.TIMESTAMP: return getFromResultSetTimestamp(rs, index, column); case Types.BLOB: return rs.getBytes(index); } throw new SQLException("Unhandled JDBC type: " + column.getJdbcType()); }
@Override public void setToPreparedStatement(PreparedStatement ps, int index, Serializable value, Column column) throws SQLException { switch (column.getJdbcType()) { case Types.VARCHAR: case Types.LONGVARCHAR: setToPreparedStatementString(ps, index, value, column); return; case Types.BIT: ps.setBoolean(index, ((Boolean) value).booleanValue()); return; case Types.TINYINT: case Types.INTEGER: case Types.BIGINT: ps.setLong(index, ((Number) value).longValue()); return; case Types.DOUBLE: ps.setDouble(index, ((Double) value).doubleValue()); return; case Types.TIMESTAMP: setToPreparedStatementTimestamp(ps, index, value, column); return; case Types.BLOB: ps.setBytes(index, (byte[]) value); return; default: throw new SQLException("Unhandled JDBC type: " + column.getJdbcType()); } }
if (rs.next()) { String body = rs.getString(1); if (normalizeString(procCreate).contains(normalizeString(body))) { logger.log(" -> exists, unchanged"); return Collections.emptyList();
buf.append(' '); translateForMySQL(term, ft.op, buf);