/** * Returns the SQL and clears the buffer. * * <p>Convenient if you are reusing the same SQL builder in a loop. */ public String getSqlAndClear() { final String str = buf.toString(); clear(); return str; }
/** * {@inheritDoc} * * <p>Returns the SQL string. * * @return SQL string * @see #getSql() */ @Override public String toString() { return getSql(); }
final SqlBuilder buf = new SqlBuilder(CalciteSqlDialect.DEFAULT); assertEquals(0, buf.length()); buf.append("select "); assertEquals("select ", buf.getSql()); buf.identifier("x"); assertEquals("select \"x\"", buf.getSql()); buf.append(", "); buf.identifier("y", "a b"); assertEquals("select \"x\", \"y\".\"a b\"", buf.getSql()); final SqlString sqlString = buf.toSqlString(); assertEquals(CalciteSqlDialect.DEFAULT, sqlString.getDialect()); assertEquals(buf.getSql(), sqlString.getSql()); assertTrue(buf.getSql().length() > 0); assertEquals(buf.getSqlAndClear(), sqlString.getSql()); assertEquals(0, buf.length()); buf.clear(); assertEquals(0, buf.length()); buf.literal("can't get no satisfaction"); assertEquals("'can''t get no satisfaction'", buf.getSqlAndClear()); buf.literal(new Timestamp(0)); assertEquals("TIMESTAMP '1970-01-01 00:00:00'", buf.getSqlAndClear());
public SqlString toSqlString() { return new SqlBuilder(dialect, toString()).toSqlString(); }
final SqlBuilder buf = new SqlBuilder(CalciteSqlDialect.DEFAULT); assertEquals(0, buf.length()); buf.append("select "); assertEquals("select ", buf.getSql()); buf.identifier("x"); assertEquals("select \"x\"", buf.getSql()); buf.append(", "); buf.identifier("y", "a b"); assertEquals("select \"x\", \"y\".\"a b\"", buf.getSql()); final SqlString sqlString = buf.toSqlString(); assertEquals(CalciteSqlDialect.DEFAULT, sqlString.getDialect()); assertEquals(buf.getSql(), sqlString.getSql()); assertTrue(buf.getSql().length() > 0); assertEquals(buf.getSqlAndClear(), sqlString.getSql()); assertEquals(0, buf.length()); buf.clear(); assertEquals(0, buf.length()); buf.literal("can't get no satisfaction"); assertEquals("'can''t get no satisfaction'", buf.getSqlAndClear()); buf.literal(new Timestamp(0)); assertEquals("TIMESTAMP '1970-01-01 00:00:00'", buf.getSqlAndClear());
/** * {@inheritDoc} * * <p>Returns the SQL string. * * @return SQL string * @see #getSql() */ @Override public String toString() { return getSql(); }
/** * Returns the SQL and clears the buffer. * * <p>Convenient if you are reusing the same SQL builder in a loop. */ public String getSqlAndClear() { final String str = buf.toString(); clear(); return str; }