Remove the unused drop event trigger

merge-cstore-pykello
Hadi Moshayedi 2020-09-25 13:10:32 -07:00
parent 1d69519bd8
commit 5a077f2308
2 changed files with 0 additions and 52 deletions

View File

@ -31,33 +31,6 @@ RETURNS bigint
AS 'MODULE_PATHNAME'
LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION cstore_clean_table_resources(oid)
RETURNS void
AS 'MODULE_PATHNAME'
LANGUAGE C STRICT;
CREATE OR REPLACE FUNCTION cstore_drop_trigger()
RETURNS event_trigger
LANGUAGE plpgsql
AS $csdt$
DECLARE v_obj record;
BEGIN
FOR v_obj IN SELECT * FROM pg_event_trigger_dropped_objects() LOOP
IF v_obj.object_type NOT IN ('table', 'foreign table') THEN
CONTINUE;
END IF;
PERFORM cstore.cstore_clean_table_resources(v_obj.objid);
END LOOP;
END;
$csdt$;
CREATE EVENT TRIGGER cstore_drop_event
ON SQL_DROP
EXECUTE PROCEDURE cstore_drop_trigger();
CREATE TABLE cstore_tables (
relid oid NOT NULL,
block_row_count int NOT NULL,

View File

@ -196,7 +196,6 @@ PG_FUNCTION_INFO_V1(cstore_ddl_event_end_trigger);
PG_FUNCTION_INFO_V1(cstore_table_size);
PG_FUNCTION_INFO_V1(cstore_fdw_handler);
PG_FUNCTION_INFO_V1(cstore_fdw_validator);
PG_FUNCTION_INFO_V1(cstore_clean_table_resources);
/* saved hook value in case of unload */
@ -1179,30 +1178,6 @@ cstore_fdw_validator(PG_FUNCTION_ARGS)
}
/*
* cstore_clean_table_resources cleans up table data and metadata with provided
* relation id. The function is meant to be called from drop_event_trigger. It
* has no way of knowing if the provided relation id belongs to a cstore table.
* Therefore it first checks if data file exists at default location before
* attempting to remove data and footer files. If the table is created at a
* custom path than its resources would not be removed.
*/
Datum
cstore_clean_table_resources(PG_FUNCTION_ARGS)
{
/*
* TODO: Event triggers do not offer the relfilenode of the
* dropped table, and by the time the sql_drop event trigger
* is called, the object is already gone so we can't look it
* up. Therefore, we can't drop the Smgr storage here, which
* means that cascaded drops of cstore foreign tables will
* leak storage.
*/
PG_RETURN_VOID();
}
/*
* OptionNamesString finds all options that are valid for the current context,
* and concatenates these option names in a comma separated string. The function