@@ -307,23 +307,8 @@ prepare_plan(PLpgSQL_checkstate *cstate,
307
307
collect_volatility (cstate , query );
308
308
plpgsql_check_detect_dependency (cstate , query );
309
309
310
- if (!pure_expr_check )
311
- return ;
312
-
313
- #if PG_VERSION_NUM < 140000
314
-
315
- check_pure_expr (cstate , query , expr -> query );
316
-
317
- #else
318
-
319
- if (expr -> parseMode == RAW_PARSE_PLPGSQL_EXPR ||
320
- expr -> parseMode == RAW_PARSE_PLPGSQL_ASSIGN1 ||
321
- expr -> parseMode == RAW_PARSE_PLPGSQL_ASSIGN2 ||
322
- expr -> parseMode == RAW_PARSE_PLPGSQL_ASSIGN3 )
310
+ if (pure_expr_check )
323
311
check_pure_expr (cstate , query , expr -> query );
324
-
325
- #endif
326
-
327
312
}
328
313
329
314
/*
@@ -1001,7 +986,7 @@ plpgsql_check_expr_generic_with_parser_setup(PLpgSQL_checkstate *cstate,
1001
986
ParserSetupHook parser_setup ,
1002
987
void * arg )
1003
988
{
1004
- prepare_plan (cstate , expr , 0 , parser_setup , arg , true );
989
+ prepare_plan (cstate , expr , 0 , parser_setup , arg , false );
1005
990
force_plan_checks (cstate , expr );
1006
991
}
1007
992
@@ -1115,7 +1100,7 @@ plpgsql_check_returned_expr(PLpgSQL_checkstate *cstate, PLpgSQL_expr *expr, bool
1115
1100
bool is_immutable_null ;
1116
1101
Oid first_level_typ = InvalidOid ;
1117
1102
1118
- prepare_plan (cstate , expr , 0 , NULL , NULL , true );
1103
+ prepare_plan (cstate , expr , 0 , NULL , NULL , is_expression );
1119
1104
1120
1105
/* record all variables used by the query, should be after prepare_plan */
1121
1106
cstate -> used_variables = bms_add_members (cstate -> used_variables , expr -> paramnos );
@@ -1334,7 +1319,7 @@ plpgsql_check_expr_as_rvalue(PLpgSQL_checkstate *cstate, PLpgSQL_expr *expr,
1334
1319
1335
1320
PG_TRY ();
1336
1321
{
1337
- prepare_plan (cstate , expr , 0 , NULL , NULL , true );
1322
+ prepare_plan (cstate , expr , 0 , NULL , NULL , is_expression );
1338
1323
/* record all variables used by the query */
1339
1324
1340
1325
#if PG_VERSION_NUM >= 140000
0 commit comments