use of net.sf.jsqlparser.schema.Column in project JSqlParser by JSQLParser.
the class SelectASTTest method testSelectASTColumnLF.
@Test
public void testSelectASTColumnLF() throws JSQLParserException {
String sql = "SELECT a, b FROM mytable \n order by b, c";
StringBuilder b = new StringBuilder(sql);
Statement stmt = CCJSqlParserUtil.parse(sql);
Select select = (Select) stmt;
PlainSelect ps = (PlainSelect) select.getSelectBody();
for (SelectItem item : ps.getSelectItems()) {
SelectExpressionItem sei = (SelectExpressionItem) item;
Column c = (Column) sei.getExpression();
SimpleNode astNode = c.getASTNode();
assertNotNull(astNode);
b.setCharAt(astNode.jjtGetFirstToken().absoluteBegin - 1, '*');
}
for (OrderByElement item : ps.getOrderByElements()) {
Column c = (Column) item.getExpression();
SimpleNode astNode = c.getASTNode();
assertNotNull(astNode);
b.setCharAt(astNode.jjtGetFirstToken().absoluteBegin - 1, '#');
}
assertEquals("SELECT *, * FROM mytable \n order by #, #", b.toString());
}
use of net.sf.jsqlparser.schema.Column in project JSqlParser by JSQLParser.
the class SelectASTTest method testSelectASTCommentCRLF.
@Test
public void testSelectASTCommentCRLF() throws JSQLParserException {
String sql = "SELECT /* testcomment */ \r\n a, b FROM -- testcomment2 \r\n mytable \r\n order by b, c";
StringBuilder b = new StringBuilder(sql);
Statement stmt = CCJSqlParserUtil.parse(sql);
Select select = (Select) stmt;
PlainSelect ps = (PlainSelect) select.getSelectBody();
for (SelectItem item : ps.getSelectItems()) {
SelectExpressionItem sei = (SelectExpressionItem) item;
Column c = (Column) sei.getExpression();
SimpleNode astNode = c.getASTNode();
assertNotNull(astNode);
b.setCharAt(astNode.jjtGetFirstToken().absoluteBegin - 1, '*');
}
for (OrderByElement item : ps.getOrderByElements()) {
Column c = (Column) item.getExpression();
SimpleNode astNode = c.getASTNode();
assertNotNull(astNode);
b.setCharAt(astNode.jjtGetFirstToken().absoluteBegin - 1, '#');
}
assertEquals("SELECT /* testcomment */ \r\n *, * FROM -- testcomment2 \r\n mytable \r\n order by #, #", b.toString());
}
use of net.sf.jsqlparser.schema.Column in project JSqlParser by JSQLParser.
the class SelectASTTest method testSelectASTCommentLF.
@Test
public void testSelectASTCommentLF() throws JSQLParserException {
String sql = "SELECT /* testcomment */ \n a, b FROM -- testcomment2 \n mytable \n order by b, c";
StringBuilder b = new StringBuilder(sql);
Statement stmt = CCJSqlParserUtil.parse(sql);
Select select = (Select) stmt;
PlainSelect ps = (PlainSelect) select.getSelectBody();
for (SelectItem item : ps.getSelectItems()) {
SelectExpressionItem sei = (SelectExpressionItem) item;
Column c = (Column) sei.getExpression();
SimpleNode astNode = c.getASTNode();
assertNotNull(astNode);
b.setCharAt(astNode.jjtGetFirstToken().absoluteBegin - 1, '*');
}
for (OrderByElement item : ps.getOrderByElements()) {
Column c = (Column) item.getExpression();
SimpleNode astNode = c.getASTNode();
assertNotNull(astNode);
b.setCharAt(astNode.jjtGetFirstToken().absoluteBegin - 1, '#');
}
assertEquals("SELECT /* testcomment */ \n *, * FROM -- testcomment2 \n mytable \n order by #, #", b.toString());
}
use of net.sf.jsqlparser.schema.Column in project JSqlParser by JSQLParser.
the class ReplaceDeParser method deParse.
public void deParse(Replace replace) {
buffer.append("REPLACE ");
if (replace.isUseIntoTables()) {
buffer.append("INTO ");
}
buffer.append(replace.getTable().getFullyQualifiedName());
if (replace.getItemsList() != null) {
if (replace.getColumns() != null) {
buffer.append(" (");
for (int i = 0; i < replace.getColumns().size(); i++) {
Column column = replace.getColumns().get(i);
buffer.append(column.getFullyQualifiedName());
if (i < replace.getColumns().size() - 1) {
buffer.append(", ");
}
}
buffer.append(") ");
} else {
buffer.append(" ");
}
} else {
buffer.append(" SET ");
for (int i = 0; i < replace.getColumns().size(); i++) {
Column column = replace.getColumns().get(i);
buffer.append(column.getFullyQualifiedName()).append("=");
Expression expression = replace.getExpressions().get(i);
expression.accept(expressionVisitor);
if (i < replace.getColumns().size() - 1) {
buffer.append(", ");
}
}
}
if (replace.getItemsList() != null) {
// REPLACE mytab SELECT * FROM mytab2
// or VALUES ('as', ?, 565)
replace.getItemsList().accept(this);
}
}
use of net.sf.jsqlparser.schema.Column in project JSqlParser by JSQLParser.
the class UpdateDeParser method deParse.
public void deParse(Update update) {
buffer.append("UPDATE ").append(PlainSelect.getStringList(update.getTables(), true, false)).append(" SET ");
if (!update.isUseSelect()) {
for (int i = 0; i < update.getColumns().size(); i++) {
Column column = update.getColumns().get(i);
column.accept(expressionVisitor);
buffer.append(" = ");
Expression expression = update.getExpressions().get(i);
expression.accept(expressionVisitor);
if (i < update.getColumns().size() - 1) {
buffer.append(", ");
}
}
} else {
if (update.isUseColumnsBrackets()) {
buffer.append("(");
}
for (int i = 0; i < update.getColumns().size(); i++) {
if (i != 0) {
buffer.append(", ");
}
Column column = update.getColumns().get(i);
column.accept(expressionVisitor);
}
if (update.isUseColumnsBrackets()) {
buffer.append(")");
}
buffer.append(" = ");
buffer.append("(");
Select select = update.getSelect();
select.getSelectBody().accept(selectVisitor);
buffer.append(")");
}
if (update.getFromItem() != null) {
buffer.append(" FROM ").append(update.getFromItem());
if (update.getJoins() != null) {
for (Join join : update.getJoins()) {
if (join.isSimple()) {
buffer.append(", ").append(join);
} else {
buffer.append(" ").append(join);
}
}
}
}
if (update.getWhere() != null) {
buffer.append(" WHERE ");
update.getWhere().accept(expressionVisitor);
}
if (update.getOrderByElements() != null) {
new OrderByDeParser(expressionVisitor, buffer).deParse(update.getOrderByElements());
}
if (update.getLimit() != null) {
new LimitDeparser(buffer).deParse(update.getLimit());
}
if (update.isReturningAllColumns()) {
buffer.append(" RETURNING *");
} else if (update.getReturningExpressionList() != null) {
buffer.append(" RETURNING ");
for (Iterator<SelectExpressionItem> iter = update.getReturningExpressionList().iterator(); iter.hasNext(); ) {
buffer.append(iter.next().toString());
if (iter.hasNext()) {
buffer.append(", ");
}
}
}
}
Aggregations