Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make function parameter names consistent #2472

Merged
merged 1 commit into from Oct 2, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
22 changes: 11 additions & 11 deletions sql/ddl_api.sql
Expand Up @@ -6,7 +6,7 @@

-- Converts a regular postgres table to a hypertable.
--
-- main_table - The OID of the table to be converted
-- relation - The OID of the table to be converted
-- time_column_name - Name of the column that contains time for a given record
-- partitioning_column - Name of the column to partition data by
-- number_partitions - (Optional) Number of partitions for data
Expand All @@ -23,7 +23,7 @@
-- replication_factor - (Optional) A value of 1 or greater makes this hypertable distributed
-- data_nodes - (Optional) The specific data nodes to distribute this hypertable across
CREATE OR REPLACE FUNCTION create_hypertable(
main_table REGCLASS,
relation REGCLASS,
time_column_name NAME,
partitioning_column NAME = NULL,
number_partitions INTEGER = NULL,
Expand All @@ -43,7 +43,7 @@ CREATE OR REPLACE FUNCTION create_hypertable(

-- Same functionality as create_hypertable, only must have a replication factor > 0 (defaults to 1)
CREATE OR REPLACE FUNCTION create_distributed_hypertable(
main_table REGCLASS,
relation REGCLASS,
time_column_name NAME,
partitioning_column NAME = NULL,
number_partitions INTEGER = NULL,
Expand Down Expand Up @@ -71,53 +71,53 @@ CREATE OR REPLACE FUNCTION set_adaptive_chunking(

-- Update chunk_time_interval for a hypertable.
--
-- main_table - The OID of the table corresponding to a hypertable whose time
-- hypertable - The OID of the table corresponding to a hypertable whose time
-- interval should be updated
-- chunk_time_interval - The new time interval. For hypertables with integral
-- time columns, this must be an integral type. For hypertables with a
-- TIMESTAMP/TIMESTAMPTZ/DATE type, it can be integral which is treated as
-- microseconds, or an INTERVAL type.
CREATE OR REPLACE FUNCTION set_chunk_time_interval(
main_table REGCLASS,
hypertable REGCLASS,
chunk_time_interval ANYELEMENT,
dimension_name NAME = NULL
) RETURNS VOID AS '@MODULE_PATHNAME@', 'ts_dimension_set_interval' LANGUAGE C VOLATILE;

CREATE OR REPLACE FUNCTION set_number_partitions(
main_table REGCLASS,
hypertable REGCLASS,
number_partitions INTEGER,
dimension_name NAME = NULL
) RETURNS VOID AS '@MODULE_PATHNAME@', 'ts_dimension_set_num_slices' LANGUAGE C VOLATILE;

-- Drop chunks older than the given timestamp for the specific
-- hypertable or continuous aggregate.
CREATE OR REPLACE FUNCTION drop_chunks(
hypertable_or_cagg REGCLASS,
relation REGCLASS,
older_than "any" = NULL,
newer_than "any" = NULL,
verbose BOOLEAN = FALSE
) RETURNS SETOF TEXT AS '@MODULE_PATHNAME@', 'ts_chunk_drop_chunks'
LANGUAGE C VOLATILE PARALLEL UNSAFE;

-- show chunks older than or newer than a specific time.
-- `hypertable` must be a valid hypertable or continuous aggregate.
-- `relation` must be a valid hypertable or continuous aggregate.
CREATE OR REPLACE FUNCTION show_chunks(
hypertable_or_cagg REGCLASS,
relation REGCLASS,
older_than "any" = NULL,
newer_than "any" = NULL
) RETURNS SETOF REGCLASS AS '@MODULE_PATHNAME@', 'ts_chunk_show_chunks'
LANGUAGE C STABLE PARALLEL SAFE;

-- Add a dimension (of partitioning) to a hypertable
--
-- main_table - OID of the table to add a dimension to
-- hypertable - OID of the table to add a dimension to
-- column_name - NAME of the column to use in partitioning for this dimension
-- number_partitions - Number of partitions, for non-time dimensions
-- interval_length - Size of intervals for time dimensions (can be integral or INTERVAL)
-- partitioning_func - Function used to partition the column
-- if_not_exists - If set, and the dimension already exists, generate a notice instead of an error
CREATE OR REPLACE FUNCTION add_dimension(
main_table REGCLASS,
hypertable REGCLASS,
column_name NAME,
number_partitions INTEGER = NULL,
chunk_time_interval ANYELEMENT = NULL::BIGINT,
Expand Down
7 changes: 5 additions & 2 deletions sql/policy_api.sql
Expand Up @@ -11,14 +11,17 @@
-- words, some data beyond the retention window
-- might be kept, but data within the window will never be deleted.
CREATE OR REPLACE FUNCTION add_retention_policy(
hypertable REGCLASS,
relation REGCLASS,
drop_after "any",
if_not_exists BOOL = false
)
RETURNS INTEGER AS '@MODULE_PATHNAME@', 'ts_policy_retention_add'
LANGUAGE C VOLATILE STRICT;

CREATE OR REPLACE FUNCTION remove_retention_policy(hypertable REGCLASS, if_exists BOOL = false) RETURNS VOID
CREATE OR REPLACE FUNCTION remove_retention_policy(
relation REGCLASS,
if_exists BOOL = false
) RETURNS VOID
AS '@MODULE_PATHNAME@', 'ts_policy_retention_remove'
LANGUAGE C VOLATILE STRICT;

Expand Down
28 changes: 14 additions & 14 deletions sql/size_utils.sql
Expand Up @@ -153,16 +153,16 @@ $BODY$;
-- Get relation size of hypertable
-- like pg_relation_size(hypertable)
--
-- main_table - hypertable to get size of
-- hypertable - hypertable to get size of
--
-- Returns:
-- table_bytes - Disk space used by main_table (like pg_relation_size(main_table))
-- table_bytes - Disk space used by hypertable (like pg_relation_size(hypertable))
-- index_bytes - Disk space used by indexes
-- toast_bytes - Disk space of toast tables
-- total_bytes - Total disk space used by the specified table, including all indexes and TOAST data

CREATE OR REPLACE FUNCTION hypertable_detailed_size(
main_table REGCLASS
hypertable REGCLASS
)
RETURNS TABLE (table_bytes BIGINT,
index_bytes BIGINT,
Expand All @@ -182,7 +182,7 @@ BEGIN
FROM pg_class c
INNER JOIN pg_namespace n ON (n.OID = c.relnamespace)
INNER JOIN _timescaledb_catalog.hypertable ht ON (ht.schema_name = n.nspname AND ht.table_name = c.relname)
WHERE c.OID = main_table;
WHERE c.OID = hypertable;

CASE WHEN is_distributed THEN
RETURN QUERY SELECT * FROM _timescaledb_internal.hypertable_remote_size(schema_name, table_name);
Expand All @@ -194,7 +194,7 @@ $BODY$;

--- returns total-bytes for a hypertable (includes table + index)
CREATE OR REPLACE FUNCTION hypertable_size(
main_table REGCLASS
hypertable REGCLASS
)
RETURNS BIGINT
LANGUAGE PLPGSQL VOLATILE STRICT AS
Expand All @@ -203,7 +203,7 @@ DECLARE
num_bytes BIGINT;
BEGIN
SELECT sum(hd.total_bytes) INTO STRICT num_bytes
FROM hypertable_detailed_size(main_table) hd;
FROM hypertable_detailed_size(hypertable) hd;
RETURN num_bytes;
END;
$BODY$;
Expand Down Expand Up @@ -288,7 +288,7 @@ END;
$BODY$;

-- Get relation size of the chunks of an hypertable
-- main_table - hypertable to get size of
-- hypertable - hypertable to get size of
--
-- Returns:
-- chunk_schema - schema name for chunk
Expand All @@ -300,7 +300,7 @@ $BODY$;
-- node_name - node on which chunk lives if this is
-- a distributed hypertable.
CREATE OR REPLACE FUNCTION chunks_detailed_size(
main_table REGCLASS
hypertable REGCLASS
)
RETURNS TABLE (
chunk_schema NAME,
Expand All @@ -322,7 +322,7 @@ BEGIN
FROM pg_class c
INNER JOIN pg_namespace n ON (n.OID = c.relnamespace)
INNER JOIN _timescaledb_catalog.hypertable ht ON (ht.schema_name = n.nspname AND ht.table_name = c.relname)
WHERE c.OID = main_table;
WHERE c.OID = hypertable;

CASE WHEN is_distributed THEN
RETURN QUERY SELECT ch.chunk_schema, ch.chunk_name, ch.table_bytes, ch.index_bytes,
Expand Down Expand Up @@ -367,7 +367,7 @@ $BODY$;

-- Convenience function to return approximate row count
--
-- main_table - table or hypertable to get approximate row count for
-- relation - table or hypertable to get approximate row count for
--
-- Returns:
-- Estimated number of rows according to catalog tables
Expand Down Expand Up @@ -539,7 +539,7 @@ $BODY$;

-- Get per chunk compression statistics for a hypertable that has
-- compression enabled
CREATE OR REPLACE FUNCTION chunk_compression_stats (main_table REGCLASS)
CREATE OR REPLACE FUNCTION chunk_compression_stats (hypertable REGCLASS)
RETURNS TABLE (
chunk_schema name,
chunk_name name,
Expand Down Expand Up @@ -573,7 +573,7 @@ BEGIN
INNER JOIN _timescaledb_catalog.hypertable ht ON (ht.schema_name = n.nspname
AND ht.table_name = c.relname)
WHERE
c.OID = main_table;
c.OID = hypertable;
CASE WHEN is_distributed THEN
RETURN QUERY
SELECT
Expand All @@ -593,7 +593,7 @@ $BODY$;

-- Get compression statistics for a hypertable that has
-- compression enabled
CREATE OR REPLACE FUNCTION hypertable_compression_stats (main_table REGCLASS)
CREATE OR REPLACE FUNCTION hypertable_compression_stats (hypertable REGCLASS)
RETURNS TABLE (
total_chunks bigint,
number_compressed_chunks bigint,
Expand Down Expand Up @@ -624,7 +624,7 @@ BEGIN
sum(ch.after_compression_total_bytes)::bigint AS after_compression_total_bytes,
ch.node_name
FROM
chunk_compression_stats (main_table) ch
chunk_compression_stats (hypertable) ch
GROUP BY
ch.node_name;
END;
Expand Down
3 changes: 3 additions & 0 deletions sql/updates/latest-dev.sql
Expand Up @@ -24,6 +24,9 @@ DROP FUNCTION IF EXISTS show_chunks;
DROP FUNCTION IF EXISTS add_compress_chunks_policy;
DROP FUNCTION IF EXISTS remove_compress_chunks_policy;
DROP FUNCTION IF EXISTS alter_job_schedule;
DROP FUNCTION IF EXISTS set_chunk_time_interval;
DROP FUNCTION IF EXISTS set_number_partitions;
DROP FUNCTION IF EXISTS add_dimension;
DROP FUNCTION IF EXISTS _timescaledb_internal.enterprise_enabled;
DROP FUNCTION IF EXISTS _timescaledb_internal.current_license_key;
DROP FUNCTION IF EXISTS _timescaledb_internal.license_expiration_time;
Expand Down
2 changes: 1 addition & 1 deletion src/dimension.c
Expand Up @@ -1177,7 +1177,7 @@ TS_FUNCTION_INFO_V1(ts_dimension_set_interval);
/*
* Update chunk_time_interval for a hypertable.
*
* main_table - The OID of the table corresponding to a hypertable whose time
* hypertable - The OID of the table corresponding to a hypertable whose time
* interval should be updated
* chunk_time_interval - The new time interval. For hypertables with integral
* time columns, this must be an integral type. For hypertables with a
Expand Down
2 changes: 1 addition & 1 deletion src/hypertable.c
Expand Up @@ -1761,7 +1761,7 @@ TS_FUNCTION_INFO_V1(ts_hypertable_distributed_create);
* Create a hypertable from an existing table.
*
* Arguments:
* main_table REGCLASS
* relation REGCLASS
* time_column_name NAME
* partitioning_column NAME = NULL
* number_partitions INTEGER = NULL
Expand Down
2 changes: 1 addition & 1 deletion test/expected/chunk_utils.out
Expand Up @@ -874,7 +874,7 @@ BEGIN;
_timescaledb_internal._hyper_5_21_chunk
(1 row)

\set QUERY1 'SELECT show_chunks(older_than => interval \'1 minute\', hypertable_or_cagg => \'drop_chunk_test_tstz\')::NAME'
\set QUERY1 'SELECT show_chunks(older_than => interval \'1 minute\', relation => \'drop_chunk_test_tstz\')::NAME'
\set QUERY2 'SELECT drop_chunks(\'drop_chunk_test_tstz\', interval \'1 minute\')::NAME'
\set ECHO errors
Different Rows | Total Rows from Query 1 | Total Rows from Query 2
Expand Down
6 changes: 3 additions & 3 deletions test/expected/relocate_extension.out
Expand Up @@ -112,7 +112,7 @@ SELECT AVG(temp) AS avg_tmp, "testSchema0".time_bucket('1 day', time, INTERVAL '
-- testing time_bucket END
-- testing drop_chunks START
-- show_chunks and drop_chunks output should be the same
\set QUERY1 'SELECT "testSchema0".show_chunks(older_than => \'2017-03-01\'::timestamp, hypertable_or_cagg => \'test_ts\')::REGCLASS::TEXT'
\set QUERY1 'SELECT "testSchema0".show_chunks(older_than => \'2017-03-01\'::timestamp, relation => \'test_ts\')::REGCLASS::TEXT'
\set QUERY2 'SELECT "testSchema0".drop_chunks(\'test_ts\', \'2017-03-01\'::timestamp)::TEXT'
\set ECHO errors
Different Rows | Total Rows from Query 1 | Total Rows from Query 2
Expand All @@ -129,7 +129,7 @@ SELECT * FROM test_ts ORDER BY time;
Mon Mar 20 09:37:00.936242 2017 | 30 | dev3
(4 rows)

\set QUERY1 'SELECT "testSchema0".show_chunks(older_than => interval \'1 minutes\', hypertable_or_cagg => \'test_tz\')::REGCLASS::TEXT'
\set QUERY1 'SELECT "testSchema0".show_chunks(older_than => interval \'1 minutes\', relation => \'test_tz\')::REGCLASS::TEXT'
\set QUERY2 'SELECT "testSchema0".drop_chunks(\'test_tz\', interval \'1 minutes\')::TEXT'
\set ECHO errors
Different Rows | Total Rows from Query 1 | Total Rows from Query 2
Expand All @@ -142,7 +142,7 @@ SELECT * FROM test_tz ORDER BY time;
------+------+--------
(0 rows)

\set QUERY1 'SELECT "testSchema0".show_chunks(older_than => interval \'1 minutes\', hypertable_or_cagg => \'test_dt\')::REGCLASS::TEXT'
\set QUERY1 'SELECT "testSchema0".show_chunks(older_than => interval \'1 minutes\', relation => \'test_dt\')::REGCLASS::TEXT'
\set QUERY2 'SELECT "testSchema0".drop_chunks(\'test_dt\', interval \'1 minutes\')::TEXT'
\set ECHO errors
Different Rows | Total Rows from Query 1 | Total Rows from Query 2
Expand Down
2 changes: 1 addition & 1 deletion test/sql/chunk_utils.sql
Expand Up @@ -314,7 +314,7 @@ BEGIN;
SELECT show_chunks('drop_chunk_test_tstz', newer_than => now() - interval '1 minute');
SELECT show_chunks('drop_chunk_test_tstz', older_than => now() - interval '1 minute');

\set QUERY1 'SELECT show_chunks(older_than => interval \'1 minute\', hypertable_or_cagg => \'drop_chunk_test_tstz\')::NAME'
\set QUERY1 'SELECT show_chunks(older_than => interval \'1 minute\', relation => \'drop_chunk_test_tstz\')::NAME'
\set QUERY2 'SELECT drop_chunks(\'drop_chunk_test_tstz\', interval \'1 minute\')::NAME'
\set ECHO errors
\ir :QUERY_RESULT_TEST_EQUAL_RELPATH
Expand Down
6 changes: 3 additions & 3 deletions test/sql/relocate_extension.sql
Expand Up @@ -52,19 +52,19 @@ SELECT AVG(temp) AS avg_tmp, "testSchema0".time_bucket('1 day', time, INTERVAL '

-- testing drop_chunks START
-- show_chunks and drop_chunks output should be the same
\set QUERY1 'SELECT "testSchema0".show_chunks(older_than => \'2017-03-01\'::timestamp, hypertable_or_cagg => \'test_ts\')::REGCLASS::TEXT'
\set QUERY1 'SELECT "testSchema0".show_chunks(older_than => \'2017-03-01\'::timestamp, relation => \'test_ts\')::REGCLASS::TEXT'
\set QUERY2 'SELECT "testSchema0".drop_chunks(\'test_ts\', \'2017-03-01\'::timestamp)::TEXT'
\set ECHO errors
\ir :QUERY_RESULT_TEST_EQUAL_RELPATH
\set ECHO all
SELECT * FROM test_ts ORDER BY time;
\set QUERY1 'SELECT "testSchema0".show_chunks(older_than => interval \'1 minutes\', hypertable_or_cagg => \'test_tz\')::REGCLASS::TEXT'
\set QUERY1 'SELECT "testSchema0".show_chunks(older_than => interval \'1 minutes\', relation => \'test_tz\')::REGCLASS::TEXT'
\set QUERY2 'SELECT "testSchema0".drop_chunks(\'test_tz\', interval \'1 minutes\')::TEXT'
\set ECHO errors
\ir :QUERY_RESULT_TEST_EQUAL_RELPATH
\set ECHO all
SELECT * FROM test_tz ORDER BY time;
\set QUERY1 'SELECT "testSchema0".show_chunks(older_than => interval \'1 minutes\', hypertable_or_cagg => \'test_dt\')::REGCLASS::TEXT'
\set QUERY1 'SELECT "testSchema0".show_chunks(older_than => interval \'1 minutes\', relation => \'test_dt\')::REGCLASS::TEXT'
\set QUERY2 'SELECT "testSchema0".drop_chunks(\'test_dt\', interval \'1 minutes\')::TEXT'
\set ECHO errors
\ir :QUERY_RESULT_TEST_EQUAL_RELPATH
Expand Down
18 changes: 9 additions & 9 deletions tsl/test/expected/deparse.out
Expand Up @@ -11,21 +11,21 @@

-- test drop_chunks function deparsing
SELECT * FROM tsl_test_deparse_drop_chunks('myschema.table10', '2019-01-01'::timestamptz, verbose => true);
tsl_test_deparse_drop_chunks
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SELECT * FROM public.drop_chunks(hypertable_or_cagg => 'myschema.table10',older_than => 'Tue Jan 01 00:00:00 2019 PST'::timestamp with time zone,newer_than => NULL,verbose => 't')
tsl_test_deparse_drop_chunks
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SELECT * FROM public.drop_chunks(relation => 'myschema.table10',older_than => 'Tue Jan 01 00:00:00 2019 PST'::timestamp with time zone,newer_than => NULL,verbose => 't')
(1 row)

SELECT * FROM tsl_test_deparse_drop_chunks('table1', newer_than => 12345);
tsl_test_deparse_drop_chunks
------------------------------------------------------------------------------------------------------------------------------------------
SELECT * FROM public.drop_chunks(hypertable_or_cagg => 'public.table1',older_than => NULL,newer_than => '12345'::integer,verbose => 'f')
tsl_test_deparse_drop_chunks
--------------------------------------------------------------------------------------------------------------------------------
SELECT * FROM public.drop_chunks(relation => 'public.table1',older_than => NULL,newer_than => '12345'::integer,verbose => 'f')
(1 row)

SELECT * FROM tsl_test_deparse_drop_chunks('table1', older_than => interval '2 years', newer_than => '2015-01-01'::timestamp);
tsl_test_deparse_drop_chunks
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SELECT * FROM public.drop_chunks(hypertable_or_cagg => 'public.table1',older_than => '@ 2 years'::interval,newer_than => 'Thu Jan 01 00:00:00 2015'::timestamp without time zone,verbose => 'f')
tsl_test_deparse_drop_chunks
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
SELECT * FROM public.drop_chunks(relation => 'public.table1',older_than => '@ 2 years'::interval,newer_than => 'Thu Jan 01 00:00:00 2015'::timestamp without time zone,verbose => 'f')
(1 row)

-- test generalized deparsing function
Expand Down