mirror of https://github.com/citusdata/citus.git
Fix citus_executor_name mapping by reimplementing it in C
parent
70c0d96507
commit
d6c667946c
|
@ -0,0 +1,8 @@
|
||||||
|
/* citus--8.2-3--8.2-4 */
|
||||||
|
|
||||||
|
CREATE OR REPLACE FUNCTION pg_catalog.citus_executor_name(executor_type int)
|
||||||
|
RETURNS text
|
||||||
|
LANGUAGE C STRICT
|
||||||
|
AS 'MODULE_PATHNAME', $$citus_executor_name$$;
|
||||||
|
COMMENT ON FUNCTION pg_catalog.citus_executor_name(int)
|
||||||
|
IS 'return the name of the external based for the value in citus_stat_statements() output';
|
|
@ -1,6 +1,6 @@
|
||||||
# Citus extension
|
# Citus extension
|
||||||
comment = 'Citus distributed database'
|
comment = 'Citus distributed database'
|
||||||
default_version = '8.2-3'
|
default_version = '8.2-4'
|
||||||
module_pathname = '$libdir/citus'
|
module_pathname = '$libdir/citus'
|
||||||
relocatable = false
|
relocatable = false
|
||||||
schema = pg_catalog
|
schema = pg_catalog
|
||||||
|
|
|
@ -12,9 +12,14 @@
|
||||||
#include "fmgr.h"
|
#include "fmgr.h"
|
||||||
|
|
||||||
#include "distributed/query_stats.h"
|
#include "distributed/query_stats.h"
|
||||||
|
#include "utils/builtins.h"
|
||||||
|
|
||||||
PG_FUNCTION_INFO_V1(citus_stat_statements_reset);
|
PG_FUNCTION_INFO_V1(citus_stat_statements_reset);
|
||||||
PG_FUNCTION_INFO_V1(citus_query_stats);
|
PG_FUNCTION_INFO_V1(citus_query_stats);
|
||||||
|
PG_FUNCTION_INFO_V1(citus_executor_name);
|
||||||
|
|
||||||
|
|
||||||
|
static char * CitusExecutorName(MultiExecutorType executorType);
|
||||||
|
|
||||||
|
|
||||||
/* placeholder for InitializeCitusQueryStats */
|
/* placeholder for InitializeCitusQueryStats */
|
||||||
|
@ -58,3 +63,60 @@ citus_query_stats(PG_FUNCTION_ARGS)
|
||||||
"Citus Enterprise")));
|
"Citus Enterprise")));
|
||||||
PG_RETURN_VOID();
|
PG_RETURN_VOID();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* citus_executor_name is a UDF that returns the name of the executor
|
||||||
|
* given the internal enum value.
|
||||||
|
*/
|
||||||
|
Datum
|
||||||
|
citus_executor_name(PG_FUNCTION_ARGS)
|
||||||
|
{
|
||||||
|
MultiExecutorType executorType = PG_GETARG_UINT32(0);
|
||||||
|
|
||||||
|
char *executorName = CitusExecutorName(executorType);
|
||||||
|
|
||||||
|
PG_RETURN_TEXT_P(cstring_to_text(executorName));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* CitusExecutorName returns the name of the executor given the internal
|
||||||
|
* enum value.
|
||||||
|
*/
|
||||||
|
static char *
|
||||||
|
CitusExecutorName(MultiExecutorType executorType)
|
||||||
|
{
|
||||||
|
switch (executorType)
|
||||||
|
{
|
||||||
|
case MULTI_EXECUTOR_ADAPTIVE:
|
||||||
|
{
|
||||||
|
return "adaptive";
|
||||||
|
}
|
||||||
|
|
||||||
|
case MULTI_EXECUTOR_REAL_TIME:
|
||||||
|
{
|
||||||
|
return "real-time";
|
||||||
|
}
|
||||||
|
|
||||||
|
case MULTI_EXECUTOR_TASK_TRACKER:
|
||||||
|
{
|
||||||
|
return "task-tracker";
|
||||||
|
}
|
||||||
|
|
||||||
|
case MULTI_EXECUTOR_ROUTER:
|
||||||
|
{
|
||||||
|
return "router";
|
||||||
|
}
|
||||||
|
|
||||||
|
case MULTI_EXECUTOR_COORDINATOR_INSERT_SELECT:
|
||||||
|
{
|
||||||
|
return "insert-select";
|
||||||
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
return "unknown";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -155,6 +155,12 @@ ALTER EXTENSION citus UPDATE TO '8.0-9';
|
||||||
ALTER EXTENSION citus UPDATE TO '8.0-10';
|
ALTER EXTENSION citus UPDATE TO '8.0-10';
|
||||||
ALTER EXTENSION citus UPDATE TO '8.0-11';
|
ALTER EXTENSION citus UPDATE TO '8.0-11';
|
||||||
ALTER EXTENSION citus UPDATE TO '8.0-12';
|
ALTER EXTENSION citus UPDATE TO '8.0-12';
|
||||||
|
ALTER EXTENSION citus UPDATE TO '8.0-13';
|
||||||
|
ALTER EXTENSION citus UPDATE TO '8.1-1';
|
||||||
|
ALTER EXTENSION citus UPDATE TO '8.2-1';
|
||||||
|
ALTER EXTENSION citus UPDATE TO '8.2-2';
|
||||||
|
ALTER EXTENSION citus UPDATE TO '8.2-3';
|
||||||
|
ALTER EXTENSION citus UPDATE TO '8.2-4';
|
||||||
-- show running version
|
-- show running version
|
||||||
SHOW citus.version;
|
SHOW citus.version;
|
||||||
citus.version
|
citus.version
|
||||||
|
|
|
@ -155,6 +155,12 @@ ALTER EXTENSION citus UPDATE TO '8.0-9';
|
||||||
ALTER EXTENSION citus UPDATE TO '8.0-10';
|
ALTER EXTENSION citus UPDATE TO '8.0-10';
|
||||||
ALTER EXTENSION citus UPDATE TO '8.0-11';
|
ALTER EXTENSION citus UPDATE TO '8.0-11';
|
||||||
ALTER EXTENSION citus UPDATE TO '8.0-12';
|
ALTER EXTENSION citus UPDATE TO '8.0-12';
|
||||||
|
ALTER EXTENSION citus UPDATE TO '8.0-13';
|
||||||
|
ALTER EXTENSION citus UPDATE TO '8.1-1';
|
||||||
|
ALTER EXTENSION citus UPDATE TO '8.2-1';
|
||||||
|
ALTER EXTENSION citus UPDATE TO '8.2-2';
|
||||||
|
ALTER EXTENSION citus UPDATE TO '8.2-3';
|
||||||
|
ALTER EXTENSION citus UPDATE TO '8.2-4';
|
||||||
|
|
||||||
-- show running version
|
-- show running version
|
||||||
SHOW citus.version;
|
SHOW citus.version;
|
||||||
|
|
Loading…
Reference in New Issue