diff options
author | Ting-Wei Lan <tingwei.lan@cobinhood.com> | 2019-03-28 11:56:56 +0800 |
---|---|---|
committer | Jhih-Ming Huang <jm.huang@cobinhood.com> | 2019-04-11 10:39:59 +0800 |
commit | a4823e28cd1c5329913d3b805c231b9d0b04304c (patch) | |
tree | 2994601a9d553b80b9da8ffb2c4b8f4a82439a63 /core/vm/sqlvm/ast | |
parent | e780408e8367838ab1c956e456cd866e6dcfde5a (diff) | |
download | dexon-a4823e28cd1c5329913d3b805c231b9d0b04304c.tar dexon-a4823e28cd1c5329913d3b805c231b9d0b04304c.tar.gz dexon-a4823e28cd1c5329913d3b805c231b9d0b04304c.tar.bz2 dexon-a4823e28cd1c5329913d3b805c231b9d0b04304c.tar.lz dexon-a4823e28cd1c5329913d3b805c231b9d0b04304c.tar.xz dexon-a4823e28cd1c5329913d3b805c231b9d0b04304c.tar.zst dexon-a4823e28cd1c5329913d3b805c231b9d0b04304c.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.go | 8 |
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) |