-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathset_variable_statement.go
More file actions
29 lines (24 loc) · 1.12 KB
/
set_variable_statement.go
File metadata and controls
29 lines (24 loc) · 1.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package ast
// SetVariableStatement represents a SET @var = value statement.
type SetVariableStatement struct {
Variable *VariableReference `json:"Variable,omitempty"`
Expression ScalarExpression `json:"Expression,omitempty"`
CursorDefinition *CursorDefinition `json:"CursorDefinition,omitempty"`
AssignmentKind string `json:"AssignmentKind,omitempty"`
SeparatorType string `json:"SeparatorType,omitempty"`
Identifier *Identifier `json:"Identifier,omitempty"`
FunctionCallExists bool `json:"FunctionCallExists,omitempty"`
Parameters []ScalarExpression `json:"Parameters,omitempty"`
}
func (s *SetVariableStatement) node() {}
func (s *SetVariableStatement) statement() {}
// CursorDefinition represents a cursor definition.
type CursorDefinition struct {
Options []*CursorOption `json:"Options,omitempty"`
Select QueryExpression `json:"Select,omitempty"`
}
// CursorOption represents a cursor option like SCROLL or DYNAMIC.
type CursorOption struct {
OptionKind string `json:"OptionKind,omitempty"`
}
func (o *CursorOption) node() {}