SELECT * FROM explain_analyze;
EXPLAIN ANALYZE INSERT INTO explain_analyze VALUES(1);
SELECT * FROM explain_analyze;
+SELECT CURRENT_TIMESTAMP;
+SELECT CURRENT_USER;
EOF
success=true
grep "fetched from cache" log/pgpool.log | grep white_v > /dev/null || success=false
grep "fetched from cache" log/pgpool.log | grep with_modify > /dev/null && success=false
grep "fetched from cache" log/pgpool.log | grep explain_analyze > /dev/null && success=false
+ grep "fetched from cache" log/pgpool.log | grep CURRENT_TIMESTAMP > /dev/null && success=false
+ grep "fetched from cache" log/pgpool.log | grep CURRENT_USER > /dev/null && success=false
if [ $success = false ];then
./shutdownall
exit 1
* pgpool: a language independent connection pool server for PostgreSQL
* written by Tatsuo Ishii
*
- * Copyright (c) 2003-2019 PgPool Global Development Group
+ * Copyright (c) 2003-2021 PgPool Global Development Group
*
* Permission to use, copy, modify, and distribute this software and
* its documentation for any purpose and without fee is hereby
return false;
}
}
+ else if (IsA(node, SQLValueFunction))
+ {
+ /*
+ * SQLValueFunctions (CURRENT_TIME, CURRENT_USER etc.) are regarded as
+ * non immutable functions.
+ */
+ ctx->has_non_immutable_function_call = true;
+ return false;
+ }
return raw_expression_tree_walker(node, non_immutable_function_call_walker, context);
}