in zetasql-toolkit-core/src/main/java/com/google/zetasql/toolkit/StatementRewriter.java [169:539]
private static List<ASTPathExpression> getResourcePathExpressionFromParseTree(ASTNode tree) {
ArrayList<ASTPathExpression> result = new ArrayList<>();
tree.accept(
new ParseTreeVisitor() {
public void visit(ASTTablePathExpression node) {
if (Objects.nonNull(node.getPathExpr())) {
result.add(node.getPathExpr());
}
super.visit(node);
}
public void visit(ASTFunctionCall node) {
result.add(node.getFunction());
super.visit(node);
}
public void visit(ASTSequenceArg node) {
result.add(node.getSequencePath());
}
public void visit(ASTDescribeStatement node) {
result.add(node.getName());
if (node.getOptionalFromName() != null) {
result.add(node.getOptionalFromName());
}
super.visit(node);
}
public void visit(ASTShowStatement node) {
result.add(node.getOptionalName());
super.visit(node);
}
public void visit(ASTDropEntityStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTDropFunctionStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTDropTableFunctionStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTDropAllRowAccessPoliciesStatement node) {
result.add(node.getTableName());
super.visit(node);
}
public void visit(ASTDropMaterializedViewStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTDropSnapshotTableStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTDropSearchIndexStatement node) {
result.add(node.getName());
result.add(node.getTableName());
super.visit(node);
}
public void visit(ASTDropVectorIndexStatement node) {
result.add(node.getName());
result.add(node.getTableName());
super.visit(node);
}
public void visit(ASTRenameStatement node) {
result.add(node.getOldName());
result.add(node.getNewName());
super.visit(node);
}
public void visit(ASTImportStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTModuleStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTSystemVariableExpr node) {
result.add(node.getPath());
}
public void visit(ASTFunctionDeclaration node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTTVF node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTTableClause node) {
result.add(node.getTablePath());
super.visit(node);
}
public void visit(ASTModelClause node) {
result.add(node.getModelPath());
}
public void visit(ASTConnectionClause node) {
result.add(node.getConnectionPath());
}
public void visit(ASTCloneDataSource node) {
result.add(node.getPathExpr());
super.visit(node);
}
public void visit(ASTCopyDataSource node) {
result.add(node.getPathExpr());
super.visit(node);
}
public void visit(ASTCloneDataStatement node) {
result.add(node.getTargetPath());
super.visit(node);
}
public void visit(ASTCreateConstantStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTCreateDatabaseStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTCreateProcedureStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTCreateSchemaStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTCreateModelStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTCreateIndexStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTExportModelStatement node) {
result.add(node.getModelNamePath());
super.visit(node);
}
public void visit(ASTExportMetadataStatement node) {
result.add(node.getNamePath());
super.visit(node);
}
public void visit(ASTCallStatement node) {
result.add(node.getProcedureName());
super.visit(node);
}
public void visit(ASTDefineTableStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTCreateSnapshotStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTCreateSnapshotTableStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTTableAndColumnInfo node) {
result.add(node.getTableName());
super.visit(node);
}
public void visit(ASTTruncateStatement node) {
result.add(node.getTargetPath());
super.visit(node);
}
public void visit(ASTMergeStatement node) {
result.add(node.getTargetPath());
super.visit(node);
}
public void visit(ASTGrantStatement node) {
result.add(node.getTargetPath());
super.visit(node);
}
public void visit(ASTRevokeStatement node) {
result.add(node.getTargetPath());
super.visit(node);
}
public void visit(ASTRenameToClause node) {
result.add(node.getNewName());
super.visit(node);
}
public void visit(ASTAlterAllRowAccessPoliciesStatement node) {
result.add(node.getTableNamePath());
super.visit(node);
}
public void visit(ASTForeignKeyReference node) {
result.add(node.getTableName());
super.visit(node);
}
public void visit(ASTCreateEntityStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTDropPrivilegeRestrictionStatement node) {
result.add(node.getNamePath());
super.visit(node);
}
public void visit(ASTDropRowAccessPolicyStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTCreatePrivilegeRestrictionStatement node) {
result.add(node.getNamePath());
super.visit(node);
}
public void visit(ASTCreateRowAccessPolicyStatement node) {
result.add(node.getName());
result.add(node.getTargetPath());
super.visit(node);
}
public void visit(ASTDropStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTCreateTableStatement node) {
result.add(node.getName());
if (node.getLikeTableName() != null) {
result.add(node.getLikeTableName());
}
super.visit(node);
}
public void visit(ASTCreateExternalTableStatement node) {
result.add(node.getName());
if (node.getLikeTableName() != null) {
result.add(node.getLikeTableName());
}
super.visit(node);
}
public void visit(ASTAuxLoadDataStatement node) {
result.add(node.getName());
if (node.getLikeTableName() != null) {
result.add(node.getLikeTableName());
}
super.visit(node);
}
public void visit(ASTCreateViewStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTCreateApproxViewStatement node) {
result.add(node.getName());
super.visit(node);
}
public void visit(ASTCreateMaterializedViewStatement node) {
result.add(node.getName());
if (node.getReplicaSource() != null) {
result.add(node.getReplicaSource());
}
super.visit(node);
}
public void visit(ASTAlterDatabaseStatement node) {
result.add(node.getPath());
super.visit(node);
}
public void visit(ASTAlterSchemaStatement node) {
result.add(node.getPath());
super.visit(node);
}
public void visit(ASTAlterTableStatement node) {
result.add(node.getPath());
super.visit(node);
}
public void visit(ASTAlterViewStatement node) {
result.add(node.getPath());
super.visit(node);
}
public void visit(ASTAlterMaterializedViewStatement node) {
result.add(node.getPath());
super.visit(node);
}
public void visit(ASTAlterApproxViewStatement node) {
result.add(node.getPath());
super.visit(node);
}
public void visit(ASTAlterModelStatement node) {
result.add(node.getPath());
super.visit(node);
}
public void visit(ASTAlterPrivilegeRestrictionStatement node) {
result.add(node.getPath());
super.visit(node);
}
public void visit(ASTAlterRowAccessPolicyStatement node) {
result.add(node.getPath());
super.visit(node);
}
public void visit(ASTAlterEntityStatement node) {
result.add(node.getPath());
super.visit(node);
}
public void visit(ASTSpannerInterleaveClause node) {
result.add(node.getTableName());
super.visit(node);
}
public void visit(ASTUndropStatement node) {
result.add(node.getName());
super.visit(node);
}
});
return result;
}