mirror of
https://github.com/postgres/postgres.git
synced 2025-10-21 02:52:47 +03:00
Replace max_expr_depth parameter with a max_stack_depth parameter that
is measured in kilobytes and checked against actual physical execution stack depth, as per my proposal of 30-Dec. This gives us a fairly bulletproof defense against crashing due to runaway recursive functions.
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
* Portions Copyright (c) 1996-2003, PostgreSQL Global Development Group
|
||||
* Portions Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $PostgreSQL: pgsql/src/include/tcop/tcopprot.h,v 1.62 2004/03/15 15:56:27 momjian Exp $
|
||||
* $PostgreSQL: pgsql/src/include/tcop/tcopprot.h,v 1.63 2004/03/24 22:40:29 tgl Exp $
|
||||
*
|
||||
* OLD COMMENTS
|
||||
* This file was created so that other c files could get the two
|
||||
@@ -23,6 +23,7 @@
|
||||
|
||||
#include "executor/execdesc.h"
|
||||
#include "tcop/dest.h"
|
||||
#include "utils/guc.h"
|
||||
|
||||
|
||||
extern DLLIMPORT sigjmp_buf Warn_restart;
|
||||
@@ -32,6 +33,7 @@ extern CommandDest whereToSendOutput;
|
||||
extern bool log_hostname;
|
||||
extern DLLIMPORT const char *debug_query_string;
|
||||
extern char *rendezvous_name;
|
||||
extern int max_stack_depth;
|
||||
|
||||
#ifndef BOOTSTRAP_INCLUDE
|
||||
|
||||
@@ -43,6 +45,9 @@ extern List *pg_analyze_and_rewrite(Node *parsetree,
|
||||
extern List *pg_rewrite_queries(List *querytree_list);
|
||||
extern Plan *pg_plan_query(Query *querytree);
|
||||
extern List *pg_plan_queries(List *querytrees, bool needSnapshot);
|
||||
|
||||
extern bool assign_max_stack_depth(int newval, bool doit, GucSource source);
|
||||
|
||||
#endif /* BOOTSTRAP_INCLUDE */
|
||||
|
||||
extern void die(SIGNAL_ARGS);
|
||||
|
Reference in New Issue
Block a user