mirror of https://github.com/citusdata/citus.git
Merge pull request #5849 from citusdata/velioglu/support_func
Add support for deparsing ALTER FUNCTION ... SUPPORT ... commandspull/5854/head
commit
0c8aca7c5e
|
@ -59,6 +59,7 @@ static void AppendDefElemParallel(StringInfo buf, DefElem *def);
|
||||||
static void AppendDefElemCost(StringInfo buf, DefElem *def);
|
static void AppendDefElemCost(StringInfo buf, DefElem *def);
|
||||||
static void AppendDefElemRows(StringInfo buf, DefElem *def);
|
static void AppendDefElemRows(StringInfo buf, DefElem *def);
|
||||||
static void AppendDefElemSet(StringInfo buf, DefElem *def);
|
static void AppendDefElemSet(StringInfo buf, DefElem *def);
|
||||||
|
static void AppendDefElemSupport(StringInfo buf, DefElem *def);
|
||||||
|
|
||||||
static void AppendVarSetValue(StringInfo buf, VariableSetStmt *setStmt);
|
static void AppendVarSetValue(StringInfo buf, VariableSetStmt *setStmt);
|
||||||
static void AppendRenameFunctionStmt(StringInfo buf, RenameStmt *stmt);
|
static void AppendRenameFunctionStmt(StringInfo buf, RenameStmt *stmt);
|
||||||
|
@ -179,6 +180,10 @@ AppendDefElem(StringInfo buf, DefElem *def)
|
||||||
{
|
{
|
||||||
AppendDefElemSet(buf, def);
|
AppendDefElemSet(buf, def);
|
||||||
}
|
}
|
||||||
|
else if (strcmp(def->defname, "support") == 0)
|
||||||
|
{
|
||||||
|
AppendDefElemSupport(buf, def);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -282,6 +287,16 @@ AppendDefElemSet(StringInfo buf, DefElem *def)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* AppendDefElemSupport appends a string representing the DefElem to a buffer
|
||||||
|
*/
|
||||||
|
static void
|
||||||
|
AppendDefElemSupport(StringInfo buf, DefElem *def)
|
||||||
|
{
|
||||||
|
appendStringInfo(buf, " SUPPORT %s", defGetString(def));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* AppendVariableSet appends a string representing the VariableSetStmt to a buffer
|
* AppendVariableSet appends a string representing the VariableSetStmt to a buffer
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -1290,6 +1290,14 @@ WARNING: "function pg_temp_xxx.temp_func(bigint)" has dependency on unsupported
|
||||||
DETAIL: "function pg_temp_xxx.temp_func(bigint)" will be created only locally
|
DETAIL: "function pg_temp_xxx.temp_func(bigint)" will be created only locally
|
||||||
SELECT create_distributed_function('pg_temp.temp_func(BIGINT)');
|
SELECT create_distributed_function('pg_temp.temp_func(BIGINT)');
|
||||||
ERROR: "function pg_temp_xxx.temp_func(bigint)" has dependency on unsupported object "schema pg_temp_xxx"
|
ERROR: "function pg_temp_xxx.temp_func(bigint)" has dependency on unsupported object "schema pg_temp_xxx"
|
||||||
|
-- Show that support functions are supported
|
||||||
|
CREATE FUNCTION func_with_support(int, int) RETURNS bool
|
||||||
|
LANGUAGE internal STRICT IMMUTABLE PARALLEL SAFE
|
||||||
|
AS $$int4eq$$ SUPPORT generate_series_int8_support;
|
||||||
|
CREATE FUNCTION func_with_support_2(int, int) RETURNS bool
|
||||||
|
LANGUAGE internal STRICT IMMUTABLE PARALLEL SAFE
|
||||||
|
AS $$int4eq$$;
|
||||||
|
ALTER FUNCTION func_with_support_2(int, int) SUPPORT generate_series_int8_support;
|
||||||
RESET search_path;
|
RESET search_path;
|
||||||
SET client_min_messages TO WARNING;
|
SET client_min_messages TO WARNING;
|
||||||
DROP SCHEMA function_propagation_schema CASCADE;
|
DROP SCHEMA function_propagation_schema CASCADE;
|
||||||
|
|
|
@ -842,6 +842,17 @@ $$ LANGUAGE SQL STABLE;
|
||||||
|
|
||||||
SELECT create_distributed_function('pg_temp.temp_func(BIGINT)');
|
SELECT create_distributed_function('pg_temp.temp_func(BIGINT)');
|
||||||
|
|
||||||
|
-- Show that support functions are supported
|
||||||
|
CREATE FUNCTION func_with_support(int, int) RETURNS bool
|
||||||
|
LANGUAGE internal STRICT IMMUTABLE PARALLEL SAFE
|
||||||
|
AS $$int4eq$$ SUPPORT generate_series_int8_support;
|
||||||
|
|
||||||
|
CREATE FUNCTION func_with_support_2(int, int) RETURNS bool
|
||||||
|
LANGUAGE internal STRICT IMMUTABLE PARALLEL SAFE
|
||||||
|
AS $$int4eq$$;
|
||||||
|
|
||||||
|
ALTER FUNCTION func_with_support_2(int, int) SUPPORT generate_series_int8_support;
|
||||||
|
|
||||||
RESET search_path;
|
RESET search_path;
|
||||||
SET client_min_messages TO WARNING;
|
SET client_min_messages TO WARNING;
|
||||||
DROP SCHEMA function_propagation_schema CASCADE;
|
DROP SCHEMA function_propagation_schema CASCADE;
|
||||||
|
|
Loading…
Reference in New Issue