From e10c31a36c57e344a366e022555bceddc7d39e69 Mon Sep 17 00:00:00 2001 From: XudongXie Date: Fri, 20 Sep 2024 23:20:05 +0800 Subject: [PATCH] revise trigger --- .../src/main/java/generator/OpenGaussGenerator.java | 12 ++++++++++-- sqlTranslate/src/main/java/parser/ast/ASTNode.java | 7 +++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/sqlTranslate/src/main/java/generator/OpenGaussGenerator.java b/sqlTranslate/src/main/java/generator/OpenGaussGenerator.java index 7d5a4661..e35bc399 100644 --- a/sqlTranslate/src/main/java/generator/OpenGaussGenerator.java +++ b/sqlTranslate/src/main/java/generator/OpenGaussGenerator.java @@ -395,9 +395,17 @@ public class OpenGaussGenerator { DataTypeConvert((TriggerDeclareContentNode) node); } } - for (ASTNode child : node.getChildren()) { - visitTrigger(child); + if (!(node.getFirstChild() instanceof TriggerDeclareNode || node.getFirstChild() instanceof TriggerBeginNode)) { + for (ASTNode child : node.getChildren()) { + visitTrigger(child); + } } + else { + // TODO: need to handle trigger body + + + } + } private void visitPLSQL(ASTNode node) { diff --git a/sqlTranslate/src/main/java/parser/ast/ASTNode.java b/sqlTranslate/src/main/java/parser/ast/ASTNode.java index 5bce8b93..5d57574d 100644 --- a/sqlTranslate/src/main/java/parser/ast/ASTNode.java +++ b/sqlTranslate/src/main/java/parser/ast/ASTNode.java @@ -110,6 +110,13 @@ public abstract class ASTNode { return null; } + public ASTNode getFirstChild() { + if (hasChild()) + return children.get(0); + else + return null; + } + public List getChildrenByName(String childName) { List nodes = new ArrayList<>(); for (ASTNode child : children) {