mirror of
https://github.com/postgres/postgres.git
synced 2025-05-03 22:24:49 +03:00
Enable to set _cpu_page_wight_ & _cpu_index_page_wight_ via
SET cost_heap(cost_index) TO ...
This commit is contained in:
parent
0a08f2b22d
commit
cd7206b2ab
@ -2,7 +2,7 @@
|
|||||||
* Routines for handling of 'SET var TO', 'SHOW var' and 'RESET var'
|
* Routines for handling of 'SET var TO', 'SHOW var' and 'RESET var'
|
||||||
* statements.
|
* statements.
|
||||||
*
|
*
|
||||||
* $Id: variable.c,v 1.5 1997/04/23 06:09:36 vadim Exp $
|
* $Id: variable.c,v 1.6 1997/04/24 15:41:37 vadim Exp $
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -11,6 +11,11 @@
|
|||||||
#include "postgres.h"
|
#include "postgres.h"
|
||||||
#include "miscadmin.h"
|
#include "miscadmin.h"
|
||||||
#include "tcop/variable.h"
|
#include "tcop/variable.h"
|
||||||
|
#include "utils/builtins.h"
|
||||||
|
#include "optimizer/internal.h"
|
||||||
|
|
||||||
|
extern Cost _cpu_page_wight_;
|
||||||
|
extern Cost _cpu_index_page_wight_;
|
||||||
|
|
||||||
/*-----------------------------------------------------------------------*/
|
/*-----------------------------------------------------------------------*/
|
||||||
#if USE_EURODATES
|
#if USE_EURODATES
|
||||||
@ -64,6 +69,50 @@ static bool reset_null(const char *value)
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool parse_cost_heap (const char *value)
|
||||||
|
{
|
||||||
|
float32 res = float4in ((char*)value);
|
||||||
|
|
||||||
|
_cpu_page_wight_ = *res;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool show_cost_heap ()
|
||||||
|
{
|
||||||
|
|
||||||
|
elog (NOTICE, "COST_HEAP is %f", _cpu_page_wight_);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool reset_cost_heap ()
|
||||||
|
{
|
||||||
|
_cpu_page_wight_ = _CPU_PAGE_WEIGHT_;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool parse_cost_index (const char *value)
|
||||||
|
{
|
||||||
|
float32 res = float4in ((char*)value);
|
||||||
|
|
||||||
|
_cpu_index_page_wight_ = *res;
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool show_cost_index ()
|
||||||
|
{
|
||||||
|
|
||||||
|
elog (NOTICE, "COST_INDEX is %f", _cpu_index_page_wight_);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
static bool reset_cost_index ()
|
||||||
|
{
|
||||||
|
_cpu_index_page_wight_ = _CPU_INDEX_PAGE_WEIGHT_;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
static bool parse_date(const char *value)
|
static bool parse_date(const char *value)
|
||||||
{
|
{
|
||||||
char tok[32];
|
char tok[32];
|
||||||
@ -149,6 +198,10 @@ struct VariableParsers
|
|||||||
{
|
{
|
||||||
{ "datestyle", parse_date, show_date, reset_date },
|
{ "datestyle", parse_date, show_date, reset_date },
|
||||||
{ "timezone", parse_null, show_null, reset_null },
|
{ "timezone", parse_null, show_null, reset_null },
|
||||||
|
{ "cost_heap", parse_cost_heap,
|
||||||
|
show_cost_heap, reset_cost_heap },
|
||||||
|
{ "cost_index", parse_cost_index,
|
||||||
|
show_cost_index, reset_cost_index },
|
||||||
{ NULL, NULL, NULL }
|
{ NULL, NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user