From 10861508f90fa45ad65f5f15163614cdaec8f9f8 Mon Sep 17 00:00:00 2001 From: Ting-Wei Lan Date: Thu, 28 Mar 2019 11:56:56 +0800 Subject: 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. --- core/vm/sqlvm/ast/ast.go | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'core/vm/sqlvm/ast') 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) -- cgit v1.2.3