mirror of https://github.com/citusdata/citus.git
91 lines
3.9 KiB
SQL
91 lines
3.9 KiB
SQL
ALTER TABLE pg_catalog.pg_dist_node ADD shouldhaveshards bool NOT NULL DEFAULT true;
|
|
COMMENT ON COLUMN pg_catalog.pg_dist_node.shouldhaveshards IS
|
|
'indicates whether the node is eligible to contain data from distributed tables';
|
|
|
|
#include "udfs/master_set_node_property/9.1-1.sql"
|
|
#include "udfs/master_drain_node/9.1-1.sql"
|
|
#include "udfs/worker_create_schema/9.1-1.sql"
|
|
#include "udfs/worker_repartition_cleanup/9.1-1.sql"
|
|
#include "udfs/rebalance_table_shards/9.1-1.sql"
|
|
#include "udfs/get_rebalance_table_shards_plan/9.1-1.sql"
|
|
#include "udfs/master_add_node/9.1-1.sql"
|
|
#include "udfs/master_add_inactive_node/9.1-1.sql"
|
|
#include "udfs/alter_role_if_exists/9.1-1.sql"
|
|
|
|
-- we don't maintain replication factor of reference tables anymore and just
|
|
-- use -1 instead.
|
|
UPDATE pg_dist_colocation SET replicationfactor = -1 WHERE distributioncolumntype = 0;
|
|
|
|
#include "udfs/any_value/9.1-1.sql"
|
|
|
|
-- drop function which was used for upgrading from 6.0
|
|
-- creation was removed from citus--7.0-1.sql
|
|
DROP FUNCTION IF EXISTS pg_catalog.master_initialize_node_metadata;
|
|
|
|
-- Support infrastructure for distributing aggregation
|
|
CREATE FUNCTION pg_catalog.worker_partial_agg_sfunc(internal, oid, anyelement)
|
|
RETURNS internal
|
|
AS 'MODULE_PATHNAME'
|
|
LANGUAGE C PARALLEL SAFE;
|
|
COMMENT ON FUNCTION pg_catalog.worker_partial_agg_sfunc(internal, oid, anyelement)
|
|
IS 'transition function for worker_partial_agg';
|
|
|
|
CREATE FUNCTION pg_catalog.worker_partial_agg_ffunc(internal)
|
|
RETURNS cstring
|
|
AS 'MODULE_PATHNAME'
|
|
LANGUAGE C PARALLEL SAFE;
|
|
COMMENT ON FUNCTION pg_catalog.worker_partial_agg_ffunc(internal)
|
|
IS 'finalizer for worker_partial_agg';
|
|
|
|
CREATE FUNCTION pg_catalog.coord_combine_agg_sfunc(internal, oid, cstring, anyelement)
|
|
RETURNS internal
|
|
AS 'MODULE_PATHNAME'
|
|
LANGUAGE C PARALLEL SAFE;
|
|
COMMENT ON FUNCTION pg_catalog.coord_combine_agg_sfunc(internal, oid, cstring, anyelement)
|
|
IS 'transition function for coord_combine_agg';
|
|
|
|
CREATE FUNCTION pg_catalog.coord_combine_agg_ffunc(internal, oid, cstring, anyelement)
|
|
RETURNS anyelement
|
|
AS 'MODULE_PATHNAME'
|
|
LANGUAGE C PARALLEL SAFE;
|
|
COMMENT ON FUNCTION pg_catalog.coord_combine_agg_ffunc(internal, oid, cstring, anyelement)
|
|
IS 'finalizer for coord_combine_agg';
|
|
|
|
-- select worker_partial_agg(agg, ...)
|
|
-- equivalent to
|
|
-- select to_cstring(agg_without_ffunc(...))
|
|
CREATE AGGREGATE pg_catalog.worker_partial_agg(oid, anyelement) (
|
|
STYPE = internal,
|
|
SFUNC = pg_catalog.worker_partial_agg_sfunc,
|
|
FINALFUNC = pg_catalog.worker_partial_agg_ffunc
|
|
);
|
|
COMMENT ON AGGREGATE pg_catalog.worker_partial_agg(oid, anyelement)
|
|
IS 'support aggregate for implementing partial aggregation on workers';
|
|
|
|
-- select coord_combine_agg(agg, col)
|
|
-- equivalent to
|
|
-- select agg_ffunc(agg_combine(from_cstring(col)))
|
|
CREATE AGGREGATE pg_catalog.coord_combine_agg(oid, cstring, anyelement) (
|
|
STYPE = internal,
|
|
SFUNC = pg_catalog.coord_combine_agg_sfunc,
|
|
FINALFUNC = pg_catalog.coord_combine_agg_ffunc,
|
|
FINALFUNC_EXTRA
|
|
);
|
|
COMMENT ON AGGREGATE pg_catalog.coord_combine_agg(oid, cstring, anyelement)
|
|
IS 'support aggregate for implementing combining partial aggregate results from workers';
|
|
|
|
REVOKE ALL ON FUNCTION pg_catalog.worker_partial_agg_ffunc FROM PUBLIC;
|
|
REVOKE ALL ON FUNCTION pg_catalog.worker_partial_agg_sfunc FROM PUBLIC;
|
|
REVOKE ALL ON FUNCTION pg_catalog.coord_combine_agg_ffunc FROM PUBLIC;
|
|
REVOKE ALL ON FUNCTION pg_catalog.coord_combine_agg_sfunc FROM PUBLIC;
|
|
REVOKE ALL ON FUNCTION pg_catalog.worker_partial_agg FROM PUBLIC;
|
|
REVOKE ALL ON FUNCTION pg_catalog.coord_combine_agg FROM PUBLIC;
|
|
|
|
GRANT EXECUTE ON FUNCTION pg_catalog.worker_partial_agg_ffunc TO PUBLIC;
|
|
GRANT EXECUTE ON FUNCTION pg_catalog.worker_partial_agg_sfunc TO PUBLIC;
|
|
GRANT EXECUTE ON FUNCTION pg_catalog.coord_combine_agg_ffunc TO PUBLIC;
|
|
GRANT EXECUTE ON FUNCTION pg_catalog.coord_combine_agg_sfunc TO PUBLIC;
|
|
GRANT EXECUTE ON FUNCTION pg_catalog.worker_partial_agg TO PUBLIC;
|
|
GRANT EXECUTE ON FUNCTION pg_catalog.coord_combine_agg TO PUBLIC;
|
|
|