MCPcopy Create free account
hub / github.com/auxten/postgresql-parser / Parse

Method Parse

pkg/sql/parser/sql.go:14535–24962  ·  view source on GitHub ↗
(sqllex sqlLexer)

Source from the content-addressed store, hash-verified

14533}
14534
14535func (sqlrcvr *sqlParserImpl) Parse(sqllex sqlLexer) int {
14536 var sqln int
14537 var sqlVAL sqlSymType
14538 var sqlDollar []sqlSymType
14539 _ = sqlDollar // silence set and not used
14540 sqlS := sqlrcvr.stack[:]
14541
14542 Nerrs := 0 /* number of errors */
14543 Errflag := 0 /* error recovery flag */
14544 sqlstate := 0
14545 sqlrcvr.char = -1
14546 sqltoken := -1 // sqlrcvr.char translated into internal numbering
14547 defer func() {
14548 // Make sure we report no lookahead when not parsing.
14549 sqlstate = -1
14550 sqlrcvr.char = -1
14551 sqltoken = -1
14552 }()
14553 sqlp := -1
14554 goto sqlstack
14555
14556ret0:
14557 return 0
14558
14559ret1:
14560 return 1
14561
14562sqlstack:
14563 /* put a state and value onto the stack */
14564 if sqlDebug >= 4 {
14565 __yyfmt__.Printf("char %v in %v\n", sqlTokname(sqltoken), sqlStatname(sqlstate))
14566 }
14567
14568 sqlp++
14569 if sqlp >= len(sqlS) {
14570 nyys := make([]sqlSymType, len(sqlS)*2)
14571 copy(nyys, sqlS)
14572 sqlS = nyys
14573 }
14574 sqlS[sqlp] = sqlVAL
14575 sqlS[sqlp].yys = sqlstate
14576
14577sqlnewstate:
14578 sqln = sqlPact[sqlstate]
14579 if sqln <= sqlFlag {
14580 goto sqldefault /* simple state */
14581 }
14582 if sqlrcvr.char < 0 {
14583 sqlrcvr.char, sqltoken = sqllex1(sqllex, &sqlrcvr.lval)
14584 }
14585 sqln += sqltoken
14586 if sqln < 0 || sqln >= sqlLast {
14587 goto sqldefault
14588 }
14589 sqln = sqlAct[sqln]
14590 if sqlChk[sqln] == sqltoken { /* valid shift */
14591 sqlrcvr.char = -1
14592 sqltoken = -1

Callers

nothing calls this directly

Calls 15

StatementInterface · 0.92
ExprInterface · 0.92
UnrestrictedNameTypeAlias · 0.92
NameTypeAlias · 0.92
PartitionedBackupTypeAlias · 0.92
NewStrValFunction · 0.92
ExprsTypeAlias · 0.92
ErrStringFunction · 0.92
NameListTypeAlias · 0.92
NewWhereFunction · 0.92
MakeExplainFunction · 0.92
ListFromStringsFunction · 0.92

Tested by

no test coverage detected