MakeExprContextStatic converts the `exprctx.StaticConvertibleExprContext` to `ExprContext`.
(ctx exprctx.StaticConvertibleExprContext)
| 307 | |
| 308 | // MakeExprContextStatic converts the `exprctx.StaticConvertibleExprContext` to `ExprContext`. |
| 309 | func MakeExprContextStatic(ctx exprctx.StaticConvertibleExprContext) *ExprContext { |
| 310 | staticEvalContext := MakeEvalContextStatic(ctx.GetStaticConvertibleEvalContext()) |
| 311 | |
| 312 | return NewExprContext( |
| 313 | WithEvalCtx(staticEvalContext), |
| 314 | WithCharset(ctx.GetCharsetInfo()), |
| 315 | WithDefaultCollationForUTF8MB4(ctx.GetDefaultCollationForUTF8MB4()), |
| 316 | WithBlockEncryptionMode(ctx.GetBlockEncryptionMode()), |
| 317 | WithSysDateIsNow(ctx.GetSysdateIsNow()), |
| 318 | WithNoopFuncsMode(ctx.GetNoopFuncsMode()), |
| 319 | WithRng(ctx.Rng()), |
| 320 | WithPlanCacheTracker(ctx.GetPlanCacheTracker()), |
| 321 | WithColumnIDAllocator( |
| 322 | exprctx.NewSimplePlanColumnIDAllocator(ctx.GetLastPlanColumnID())), |
| 323 | WithConnectionID(ctx.ConnectionID()), |
| 324 | WithWindowingUseHighPrecision(ctx.GetWindowingUseHighPrecision()), |
| 325 | WithGroupConcatMaxLen(ctx.GetGroupConcatMaxLen()), |
| 326 | ) |
| 327 | } |
| 328 | |
| 329 | // LoadSystemVars loads system variables and returns a new `EvalContext` with system variables loaded. |
| 330 | func (ctx *ExprContext) LoadSystemVars(sysVars map[string]string) (*ExprContext, error) { |