當前位置: 首頁>>代碼示例>>Golang>>正文


Golang ast.PositionExpr類代碼示例

本文整理匯總了Golang中github.com/pingcap/tidb/ast.PositionExpr的典型用法代碼示例。如果您正苦於以下問題:Golang PositionExpr類的具體用法?Golang PositionExpr怎麽用?Golang PositionExpr使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了PositionExpr類的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: handlePosition

func (nr *nameResolver) handlePosition(pos *ast.PositionExpr) {
	ctx := nr.currentContext()
	if pos.N < 1 || pos.N > len(ctx.fieldList) {
		nr.Err = errors.Errorf("Unknown column '%d'", pos.N)
		return
	}
	pos.Refer = ctx.fieldList[pos.N-1]
}
開發者ID:MDistribuntedSystem,項目名稱:tidb,代碼行數:8,代碼來源:resolver.go

示例2: handlePosition

func (nr *nameResolver) handlePosition(pos *ast.PositionExpr) {
	ctx := nr.currentContext()
	if pos.N < 1 || pos.N > len(ctx.fieldList) {
		nr.Err = errors.Errorf("Unknown column '%d'", pos.N)
		return
	}
	pos.Refer = ctx.fieldList[pos.N-1]
	if nr.currentContext().inGroupBy {
		// make sure item is not aggregate function
		if ast.HasAggFlag(pos.Refer.Expr) {
			nr.Err = errors.New("group by cannot contain aggregate function")
		}
	}
}
開發者ID:mumubusu,項目名稱:tidb,代碼行數:14,代碼來源:resolver.go

示例3: handlePosition

func (nr *nameResolver) handlePosition(pos *ast.PositionExpr) {
	ctx := nr.currentContext()
	if pos.N < 1 || pos.N > len(ctx.fieldList) {
		nr.Err = errors.Errorf("Unknown column '%d'", pos.N)
		return
	}
	matched := ctx.fieldList[pos.N-1]
	nf := *matched
	expr := matched.Expr
	if cexpr, ok := expr.(*ast.ColumnNameExpr); ok {
		expr = cexpr.Refer.Expr
	}
	nf.Expr = expr
	pos.Refer = &nf
	if nr.currentContext().inGroupBy {
		// make sure item is not aggregate function
		if ast.HasAggFlag(pos.Refer.Expr) {
			nr.Err = errors.New("group by cannot contain aggregate function")
		}
	}
}
開發者ID:youprofit,項目名稱:tidb,代碼行數:21,代碼來源:resolver.go

示例4: position

func (e *Evaluator) position(v *ast.PositionExpr) bool {
	v.SetDatum(*v.Refer.Expr.GetDatum())
	return true
}
開發者ID:yangxuanjia,項目名稱:tidb,代碼行數:4,代碼來源:evaluator.go


注:本文中的github.com/pingcap/tidb/ast.PositionExpr類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。