refactor: 移除antlr4减小包体积&ai助手优化

This commit is contained in:
meilin.huang
2026-05-08 20:45:13 +08:00
parent 3768cef62d
commit f23b243fc5
154 changed files with 13054 additions and 396804 deletions

View File

@@ -1,60 +1,17 @@
package pgsql
import (
"mayfly-go/internal/db/dbm/sqlparser/base"
pgparser "mayfly-go/internal/db/dbm/sqlparser/pgsql/antlr4"
"mayfly-go/pkg/logx"
"mayfly-go/internal/db/dbm/sqlparser/sqlstmt"
"github.com/antlr4-go/antlr/v4"
"mayfly-go/pkg/gox"
"mayfly-go/pkg/logx"
)
func GetPgsqlParserTree(baseLine int, statement string) (antlr.ParseTree, *antlr.CommonTokenStream, error) {
lexer := pgparser.NewPostgreSQLLexer(antlr.NewInputStream(statement))
stream := antlr.NewCommonTokenStream(lexer, antlr.TokenDefaultChannel)
parser := pgparser.NewPostgreSQLParser(stream)
lexerErrorListener := &base.ParseErrorListener{
BaseLine: baseLine,
}
lexer.RemoveErrorListeners()
lexer.AddErrorListener(lexerErrorListener)
parserErrorListener := &base.ParseErrorListener{
BaseLine: baseLine,
}
parser.RemoveErrorListeners()
parser.AddErrorListener(parserErrorListener)
parser.BuildParseTrees = true
tree := parser.Root()
if lexerErrorListener.Err != nil {
return nil, nil, lexerErrorListener.Err
}
if parserErrorListener.Err != nil {
return nil, nil, parserErrorListener.Err
}
return tree, stream, nil
}
type PgsqlParser struct {
}
func (*PgsqlParser) Parse(stmt string) (stmts []sqlstmt.Stmt, err error) {
defer func() {
if e := recover(); e != nil {
logx.ErrorTrace("postgres sql parser err: ", e)
err = e.(error)
}
}()
tree, _, err := GetPgsqlParserTree(1, stmt)
if err != nil {
return nil, err
}
return tree.Accept(new(PgsqlVisitor)).([]sqlstmt.Stmt), nil
func (*PgsqlParser) Parse(stmt string) (sqlstmt.Stmt, error) {
defer gox.Recover(func(e error) {
logx.ErrorTrace("postgres sql parser err: ", e)
})
return NewParser(stmt).Parse()
}