JSqlparser の探索を始めたばかりです。私の理解によると、列とテーブルを抽出するように TablesNamesFinder を変更しました。これは正常に機能しますが、非常に小さな問題です。
@Override
public void visit(Column col) {
Column c = col;
String cname = c.getFullyQualifiedName();
Table t = c.getTable();
System.out.println(t.getName());
}
これはテーブルを出力しません。ほとんどの場合、null を出力し、非常にまれなケースではテーブルのエイリアスを出力しますが、テーブルは出力しません。私が忘れているものはありますか?
残りの訪問
@Override
public void visit(SelectExpressionItem exp){
exp.getExpression().accept(this);
}
@Override
public void visit(Table tableName) {
// System.out.println(tableName.getFullyQualifiedName());
}
@Override
public void visit(Select select) {
select.getSelectBody().accept(this);
}