当前位置: 首页 > news >正文

做元器件上什么网站宁波seo关键词优化

做元器件上什么网站,宁波seo关键词优化,凡科网建立网站后怎么修改,有域名之后怎么自己做网站这里分析一下函数中应用绑定变量的问题,但实际应用场景中,不推荐这么使用。 prepare divplan2(int,int) as select div($1,$2); execute divplan2(4,2);语法解析 分别分析prepare语句以及execute语句。 gram.y中定义 /******************************…

这里分析一下函数中应用绑定变量的问题,但实际应用场景中,不推荐这么使用。

prepare divplan2(int,int) as select div($1,$2);
execute divplan2(4,2);
语法解析

分别分析prepare语句以及execute语句。
gram.y中定义

/*********************************************************************		QUERY:*				PREPARE <plan_name> [(args, ...)] AS <query>******************************************************************/PrepareStmt: PREPARE name prep_type_clause AS PreparableStmt{PrepareStmt *n = makeNode(PrepareStmt);n->name = $2;n->argtypes = $3;n->query = $5;$$ = (Node *) n;};prep_type_clause: '(' type_list ')'			{ $$ = $2; }| /* EMPTY */				{ $$ = NIL; };PreparableStmt:SelectStmt| InsertStmt| UpdateStmt| DeleteStmt					/* by default all are $$=$1 */| MergeStmt;/******************************************************************** EXECUTE <plan_name> [(params, ...)]******************************************************************/
ExecuteStmt: EXECUTE name execute_param_clause{ExecuteStmt *n = makeNode(ExecuteStmt);n->name = $2;n->params = $3;$$ = (Node *) n;}execute_param_clause: '(' expr_list ')'				{ $$ = $2; }| /* EMPTY */					{ $$ = NIL; };
主流程

prepare,execute语句代码主流程如下,

main
--> PostmasterMain--> ServerLoop--> BackendStartup--> BackendRun--> PostgresMain--> exec_simple_query
exec_simple_query
--> pg_parse_query
--> pg_analyze_and_rewrite
--> pg_plan_queries
--> PortalStart
--> PortalRun--> PortalRunUtiliey--> standard_ProcessUtility--> PrepareQuery      // prepare语句--> ExecuteQuery      // execute语句--> DeallocateQuery
prepare语句

prepare divplan2(int,int) as select div($1,$2);
Prepare语句主流程如下:

PrepareQuery
--> CreateCachedPlan  // 创建CachedPlanSource
--> parse_analyze_varparams  // 语义分析--> parse_variable_parameters--> transformTopLevelStmt--> transformStmt--> transformSelectStmt--> transformTargetList--> transformTargetEntry--> transformExpr--> transformFuncCall   // 解析函数调用--> transformParamRef  // 解析绑定变量参数,构造Param节点,作为函数参数--> variable_paramref_hook  --> ParseFuncOrColumn  // 构造FuncExpr, 获取函数oid,返回值类型oid--> func_get_detail--> FuncnameGetCandidates // 通过函数名获取后续函数列表--> func_match_argtypes--> func_select_candidate--> make_fn_arguments--> coerce_type--> variable_coerce_param_hook--> check_variable_parameters
--> QueryRewrite    // 查询重写
--> CompleteCachedPlan   // 创建plan cache entry
--> StorePreparedStatement // 存到哈希表中--> InitQueryHashTable /* Initialize the hash table, if necessary */--> hash_create    --> hash_search  /* Add entry to hash table */--> SaveCachedPlan // save a cached plan permanently--> ReleaseGenericPlan--> dlist_push_tail
execute语句

execute divplan2(4,2);
Execute主流程如下:

ExecuteQuery
--> FetchPreparedStatement // 哈希表中查找是否有已缓存的执行计划--> hash_search
--> CreateExecutorState
--> EvaluateParams   // 获取绑定变量参数,返回ParamListInfo--> ExecPrepareExprList--> ExecPrepareExpr--> expression_planner--> eval_const_expressions--> ExecInitExpr--> makeParamList  获取到参数值4,2
--> CreateNewPortal--> CreatePortal
--> GetCachedPlan--> RevalidateCachedQuery--> choose_custom_plan  // choose whether to use custom or generic plan--> if (!customplan) // 走generic plan--> if (CheckCachedPlan)// 直接获取已有的有效generic planelse--> BuildCachedPlan--> pg_plan_queries--> pg_plan_query--> planner--> standard_planner--> subquery_planner--> preprocess_expression   // 复合常量化简,直接调用函数--> eval_const_expressions--> simplify_function  --> evaluate_function--> evaluate_expr--> cached_plan_cost--> if (customplan)  // 走custom plan--> BuildCachedPlan--> pg_plan_queries--> pg_plan_query--> planner--> standard_planner--> subquery_planner--> preprocess_qual_conditions--> eval_const_expressions--> create_plan--> PortalDefineQuery
--> PortalStart--> ExecutorStart--> InitPlan
--> PortalRun--> ExecutorRun--> standard_ExecutorRun--> ExecutePlan--> PortalDrop--> ExecutorEnd--> standard_ExecutorEnd--> ExecEndPlan--> PortalReleaseCachedPlan  /* drop cached plan reference, if any */
http://www.mnyf.cn/news/47130.html

相关文章:

  • javaweb是用java做网站吗什么是网站seo
  • 合浦县建设局网站网络热词英语
  • 做装修网站公司seo是谁
  • 东营免费网站制作如何提高网站在百度的排名
  • 成都外贸网站建设seo 是什么
  • ai海报设计鹤壁seo公司
  • 好的专业网站建设公司网站在线客服系统 免费
  • 厦门国外网站建设公司哪家好b站推广是什么意思
  • 中企动力中山分公司网站seo收录查询
  • wordpress jq冲突湖南好搜公司seo
  • 做汽车网站开题报告的意义网站优化入门免费教程
  • 个人网站建设制作网上怎么推广产品
  • 无锡网站推广¥做下拉去118cr有网站模板怎么建站
  • 营销型网站建东莞seo推广公司
  • 用明星做AV视频的网站做做网站
  • 网站建设客户问题seo sem是啥
  • 网站建设开发设计营销公司山东想要推广网页
  • 高端定制手机网站百度一下你就知道百度一下
  • 专业网站设计师去哪找广州网站优化
  • openwrt 做视频网站关键词优化骗局
  • 网站建设与动态网页设计镇江网络
  • 网站的整体规划怎么写郑州seo关键词优化公司
  • 车身做网站宣传图手机如何建网站
  • 苏州网站设计哪家好重庆森林讲的什么内容
  • 做除尘骨架的网站网站推广搜索
  • 营销图片素材seo网站页面优化包含
  • 郑州做网站的外包公司百度经验app
  • 推广网页模板seo关键词怎么填
  • 服务好的普通网站建设百度一直不收录网站
  • 山东网站建设企业公司营销型网站建设的步骤流程是什么