aboutsummaryrefslogtreecommitdiffstats
path: root/core/vm/sqlvm/ast
diff options
context:
space:
mode:
authorTing-Wei Lan <tingwei.lan@cobinhood.com>2019-03-28 11:56:56 +0800
committerJhih-Ming Huang <jm.huang@cobinhood.com>2019-05-06 10:44:04 +0800
commit10861508f90fa45ad65f5f15163614cdaec8f9f8 (patch)
tree4e9dd88cb7f71f68a3a5421058ab83f4524ec648 /core/vm/sqlvm/ast
parent8c4e09207c74294364eefa14159338908bc65f67 (diff)
downloaddexon-10861508f90fa45ad65f5f15163614cdaec8f9f8.tar
dexon-10861508f90fa45ad65f5f15163614cdaec8f9f8.tar.gz
dexon-10861508f90fa45ad65f5f15163614cdaec8f9f8.tar.bz2
dexon-10861508f90fa45ad65f5f15163614cdaec8f9f8.tar.lz
dexon-10861508f90fa45ad65f5f15163614cdaec8f9f8.tar.xz
dexon-10861508f90fa45ad65f5f15163614cdaec8f9f8.tar.zst
dexon-10861508f90fa45ad65f5f15163614cdaec8f9f8.zip
core: vm: sqlvm: add a descriptor field to IdentifierNode
It will be used to store the descriptor of the object after the name is resolved.
Diffstat (limited to 'core/vm/sqlvm/ast')
-rw-r--r--core/vm/sqlvm/ast/ast.go8
1 files changed, 8 insertions, 0 deletions
diff --git a/core/vm/sqlvm/ast/ast.go b/core/vm/sqlvm/ast/ast.go
index 0a82ac76c..d5ebb35af 100644
--- a/core/vm/sqlvm/ast/ast.go
+++ b/core/vm/sqlvm/ast/ast.go
@@ -105,10 +105,18 @@ func (n *TaggedExprNodeBase) SetType(t DataType) {
n.Type = t
}
+// IdentifierDescriptor defines the interface of a descriptor. A descriptor
+// identifies an object in a SQL statement. This interface is intended to be
+// used by IdentifierNode to store the target after the name is resolved.
+type IdentifierDescriptor interface {
+ GetDescriptor() uint32
+}
+
// IdentifierNode references table, column, or function.
type IdentifierNode struct {
TaggedExprNodeBase
Name []byte
+ Desc IdentifierDescriptor
}
var _ ExprNode = (*IdentifierNode)(nil)