@Override public boolean visit(SQLUnique x) { for (SQLSelectOrderByItem column : x.getColumns()) { column.accept(this); } return false; }
public boolean visit(SQLOrderBy x) { int itemSize = x.getItems().size(); if (itemSize > 0) { print0(ucase ? "ORDER BY " : "order by "); this.indentCount++; for (int i = 0; i < itemSize; ++i) { if (i != 0) { println(", "); } x.getItems().get(i).accept(this); } this.indentCount--; } return false; }
@Override public boolean visit(SQLAlterTableAddIndex x) { for (SQLSelectOrderByItem item : x.getItems()) { item.accept(this); } SQLName table = ((SQLAlterTableStatement) x.getParent()).getName(); TableStat tableStat = this.getTableStat(table); tableStat.incrementCreateIndexCount(); return false; }
@Override public boolean visit(MySqlTableIndex x) { String indexType = x.getIndexType(); boolean indexTypePrinted = false; if ("FULLTEXT".equalsIgnoreCase(indexType)) { print0(ucase ? "FULLTEXT " : "fulltext "); indexTypePrinted = true; } else if ("SPATIAL".equalsIgnoreCase(indexType)) { print0(ucase ? "SPATIAL " : "spatial "); indexTypePrinted = true; } print0(ucase ? "INDEX" : "index"); if (x.getName() != null) { print(' '); x.getName().accept(this); } if (indexType != null && !indexTypePrinted) { print0(ucase ? " USING " : " using "); print0(indexType); } print('('); for (int i = 0, size = x.getColumns().size(); i < size; ++i) { if (i != 0) { print0(", "); } x.getColumns().get(i).accept(this); } print(')'); return false; }
@Override public boolean visit(MySqlPrimaryKey x) { if (x.getName() != null) { print0(ucase ? "CONSTRAINT " : "constraint "); x.getName().accept(this); print(' '); } print0(ucase ? "PRIMARY KEY" : "primary key"); if (x.getIndexType() != null) { print0(ucase ? " USING " : " using "); print0(x.getIndexType()); } print0(" ("); for (int i = 0, size = x.getColumns().size(); i < size; ++i) { if (i != 0) { print0(", "); } x.getColumns().get(i).accept(this); } print(')'); return false; }
@Override public boolean visit(MySqlKey x) { if (x.isHasConstaint()) { print0(ucase ? "CONSTRAINT " : "constraint "); if (x.getName() != null) { x.getName().accept(this); print(' '); } } print0(ucase ? "KEY" : "key"); SQLName name = x.getName(); if (name != null) { print(' '); name.accept(this); } if (x.getIndexType() != null) { print0(ucase ? " USING " : " using "); print0(x.getIndexType()); } print0(" ("); for (int i = 0, size = x.getColumns().size(); i < size; ++i) { if (i != 0) { print0(", "); } x.getColumns().get(i).accept(this); } print(')'); return false; }
@Override public boolean visit(SQLUnique x) { for (SQLSelectOrderByItem column : x.getColumns()) { column.accept(this); } return false; }
public boolean visit(SQLOrderBy x) { int itemSize = x.getItems().size(); if (itemSize > 0) { print0(ucase ? "ORDER BY " : "order by "); this.indentCount++; for (int i = 0; i < itemSize; ++i) { if (i != 0) { println(", "); } x.getItems().get(i).accept(this); } this.indentCount--; } return false; }
@Override public boolean visit(SQLAlterTableAddIndex x) { for (SQLSelectOrderByItem item : x.getItems()) { item.accept(this); } SQLName table = ((SQLAlterTableStatement) x.getParent()).getName(); TableStat tableStat = this.getTableStat(table); tableStat.incrementCreateIndexCount(); return false; }
@Override public boolean visit(MySqlTableIndex x) { String indexType = x.getIndexType(); boolean indexTypePrinted = false; if ("FULLTEXT".equalsIgnoreCase(indexType)) { print0(ucase ? "FULLTEXT " : "fulltext "); indexTypePrinted = true; } else if ("SPATIAL".equalsIgnoreCase(indexType)) { print0(ucase ? "SPATIAL " : "spatial "); indexTypePrinted = true; } print0(ucase ? "INDEX" : "index"); if (x.getName() != null) { print(' '); x.getName().accept(this); } if (indexType != null && !indexTypePrinted) { print0(ucase ? " USING " : " using "); print0(indexType); } print('('); for (int i = 0, size = x.getColumns().size(); i < size; ++i) { if (i != 0) { print0(", "); } x.getColumns().get(i).accept(this); } print(')'); return false; }
@Override public boolean visit(MySqlPrimaryKey x) { if (x.getName() != null) { print0(ucase ? "CONSTRAINT " : "constraint "); x.getName().accept(this); print(' '); } print0(ucase ? "PRIMARY KEY" : "primary key"); if (x.getIndexType() != null) { print0(ucase ? " USING " : " using "); print0(x.getIndexType()); } print0(" ("); for (int i = 0, size = x.getColumns().size(); i < size; ++i) { if (i != 0) { print0(", "); } x.getColumns().get(i).accept(this); } print(')'); return false; }
@Override public boolean visit(MySqlKey x) { if (x.isHasConstaint()) { print0(ucase ? "CONSTRAINT " : "constraint "); if (x.getName() != null) { x.getName().accept(this); print(' '); } } print0(ucase ? "KEY" : "key"); SQLName name = x.getName(); if (name != null) { print(' '); name.accept(this); } if (x.getIndexType() != null) { print0(ucase ? " USING " : " using "); print0(x.getIndexType()); } print0(" ("); for (int i = 0, size = x.getColumns().size(); i < size; ++i) { if (i != 0) { print0(", "); } x.getColumns().get(i).accept(this); } print(')'); return false; }