MCPcopy Create free account
hub / github.com/dolthub/doltgresql / jsonConvertStatement

Function jsonConvertStatement

server/plpgsql/json_convert.go:84–127  ·  view source on GitHub ↗

jsonConvertStatement converts a statement in JSON form to the output form.

(stmt statement)

Source from the content-addressed store, hash-verified

82
83// jsonConvertStatement converts a statement in JSON form to the output form.
84func jsonConvertStatement(stmt statement) (Statement, error) {
85 switch {
86 case stmt.Assignment != nil:
87 return stmt.Assignment.Convert()
88 case stmt.Block != nil:
89 stmts, err := jsonConvertStatements(stmt.Block.Body)
90 if err != nil {
91 return Block{}, err
92 }
93 return Block{
94 Body: stmts,
95 }, nil
96 case stmt.Call != nil:
97 return stmt.Call.Convert()
98 case stmt.Case != nil:
99 return stmt.Case.Convert()
100 case stmt.DynExec != nil:
101 return stmt.DynExec.Convert()
102 case stmt.ExecSQL != nil:
103 return stmt.ExecSQL.Convert()
104 case stmt.Exit != nil:
105 return stmt.Exit.Convert(), nil
106 case stmt.ForILoop != nil:
107 return stmt.ForILoop.Convert()
108 case stmt.ForSLoop != nil:
109 return stmt.ForSLoop.Convert()
110 case stmt.If != nil:
111 return stmt.If.Convert()
112 case stmt.Loop != nil:
113 return stmt.Loop.Convert()
114 case stmt.Perform != nil:
115 return stmt.Perform.Convert(), nil
116 case stmt.Raise != nil:
117 return stmt.Raise.Convert(), nil
118 case stmt.Return != nil:
119 return stmt.Return.Convert(), nil
120 case stmt.ReturnQuery != nil:
121 return stmt.ReturnQuery.Convert(), nil
122 case stmt.While != nil:
123 return stmt.While.Convert()
124 default:
125 return Block{}, errors.Errorf("unhandled statement type: %T", stmt)
126 }
127}
128
129// jsonConvertStatements converts a collection of statements in JSON form to their output form.
130func jsonConvertStatements(stmts []statement) ([]Statement, error) {

Callers 1

jsonConvertStatementsFunction · 0.85

Calls 3

jsonConvertStatementsFunction · 0.85
ErrorfMethod · 0.65
ConvertMethod · 0.45

Tested by

no test coverage detected