@@ -3583,7 +3583,7 @@ vops_substitute_tables_with_projections(char const* queryString, Query *query)
35833583&& bms_is_subset (pullvar_ctx .otherVars ,scalarAttrs ))/* variables used in other clauses can be only scalar */
35843584{
35853585List * parsetree_list ;
3586- #if PG_VERSION_NUM >=110000
3586+ #if PG_VERSION_NUM >=100006
35873587RawStmt * parsetree ;
35883588#else
35893589Node * parsetree ;
@@ -3598,7 +3598,7 @@ vops_substitute_tables_with_projections(char const* queryString, Query *query)
35983598MemoryContextSwitchTo (spi_memctx );
35993599break ;
36003600}
3601- #if PG_VERSION_NUM >=110000
3601+ #if PG_VERSION_NUM >=100006
36023602parsetree = linitial_node (RawStmt ,parsetree_list );
36033603select = (SelectStmt * )parsetree -> stmt ;
36043604#else
@@ -3642,7 +3642,7 @@ vops_substitute_tables_with_projections(char const* queryString, Query *query)
36423642PG_TRY ();
36433643{
36443644Query * subst = parse_analyze (parsetree ,queryString ,NULL ,0
3645- #if PG_VERSION_NUM >=110000
3645+ #if PG_VERSION_NUM >=100006
36463646 ,NULL
36473647#endif
36483648);
@@ -3723,6 +3723,15 @@ static void vops_explain_hook(Query *query,
37233723ParamListInfo params ,
37243724QueryEnvironment * queryEnv )
37253725{
3726+ #elif PG_VERSION_NUM>=100006
3727+ static void vops_explain_hook (Query * query ,
3728+ int cursorOptions ,
3729+ IntoClause * into ,
3730+ ExplainState * es ,
3731+ const char * queryString ,
3732+ ParamListInfo params )
3733+ {
3734+ QueryEnvironment * queryEnv = NULL ;
37263735#else
37273736static void vops_explain_hook (Query * query ,
37283737IntoClause * into ,
@@ -3760,7 +3769,7 @@ static void vops_explain_hook(Query *query,
37603769
37613770/* run it (if needed) and produce output */
37623771ExplainOnePlan (plan ,into ,es ,queryString ,params ,
3763- #if PG_VERSION_NUM >=110000
3772+ #if PG_VERSION_NUM >=100006
37643773queryEnv ,
37653774#endif
37663775& planduration );