From 92cc8fbea3e396635e111c41755cf017c2389eb5 Mon Sep 17 00:00:00 2001 From: i-norden Date: Tue, 21 Feb 2023 20:01:48 -0600 Subject: [PATCH 1/2] remove access_list_elements table and associated indexes and hypertable functions --- .../00010_create_eth_access_list_elements_table.sql | 12 ------------ ...table.sql => 00010_create_eth_log_cids_table.sql} | 0 ...ts.sql => 00011_create_postgraphile_comments.sql} | 0 ..._cid_indexes.sql => 00012_create_cid_indexes.sql} | 10 ---------- ...n_table.sql => 00013_create_db_version_table.sql} | 0 ...a_schema.sql => 00014_create_eth_meta_schema.sql} | 0 ....sql => 00015_create_watched_addresses_table.sql} | 0 ...nctions.sql => 00016_create_stored_functions.sql} | 0 ...ertables.sql => 00017_convert_to_hypertables.sql} | 5 ----- 9 files changed, 27 deletions(-) delete mode 100644 db/migrations/00010_create_eth_access_list_elements_table.sql rename db/migrations/{00011_create_eth_log_cids_table.sql => 00010_create_eth_log_cids_table.sql} (100%) rename db/migrations/{00012_create_postgraphile_comments.sql => 00011_create_postgraphile_comments.sql} (100%) rename db/migrations/{00013_create_cid_indexes.sql => 00012_create_cid_indexes.sql} (90%) rename db/migrations/{00014_create_db_version_table.sql => 00013_create_db_version_table.sql} (100%) rename db/migrations/{00015_create_eth_meta_schema.sql => 00014_create_eth_meta_schema.sql} (100%) rename db/migrations/{00016_create_watched_addresses_table.sql => 00015_create_watched_addresses_table.sql} (100%) rename db/migrations/{00017_create_stored_functions.sql => 00016_create_stored_functions.sql} (100%) rename db/migrations/{00018_convert_to_hypertables.sql => 00017_convert_to_hypertables.sql} (88%) diff --git a/db/migrations/00010_create_eth_access_list_elements_table.sql b/db/migrations/00010_create_eth_access_list_elements_table.sql deleted file mode 100644 index e7384b8..0000000 --- a/db/migrations/00010_create_eth_access_list_elements_table.sql +++ /dev/null @@ -1,12 +0,0 @@ --- +goose Up -CREATE TABLE IF NOT EXISTS eth.access_list_elements ( - block_number BIGINT NOT NULL, - tx_id VARCHAR(66) NOT NULL, - index INTEGER NOT NULL, - address VARCHAR(66), - storage_keys VARCHAR(66)[], - PRIMARY KEY (tx_id, index, block_number) -); - --- +goose Down -DROP TABLE eth.access_list_elements; diff --git a/db/migrations/00011_create_eth_log_cids_table.sql b/db/migrations/00010_create_eth_log_cids_table.sql similarity index 100% rename from db/migrations/00011_create_eth_log_cids_table.sql rename to db/migrations/00010_create_eth_log_cids_table.sql diff --git a/db/migrations/00012_create_postgraphile_comments.sql b/db/migrations/00011_create_postgraphile_comments.sql similarity index 100% rename from db/migrations/00012_create_postgraphile_comments.sql rename to db/migrations/00011_create_postgraphile_comments.sql diff --git a/db/migrations/00013_create_cid_indexes.sql b/db/migrations/00012_create_cid_indexes.sql similarity index 90% rename from db/migrations/00013_create_cid_indexes.sql rename to db/migrations/00012_create_cid_indexes.sql index e609144..755c1b6 100644 --- a/db/migrations/00013_create_cid_indexes.sql +++ b/db/migrations/00012_create_cid_indexes.sql @@ -39,11 +39,6 @@ CREATE INDEX storage_header_id_index ON eth.storage_cids USING btree (header_id) CREATE INDEX storage_removed_index ON eth.storage_cids USING btree (removed); CREATE INDEX storage_leaf_key_block_number_index ON eth.storage_cids(storage_leaf_key, block_number DESC); --- access list indexes -CREATE INDEX access_list_block_number_index ON eth.access_list_elements USING btree (block_number); -CREATE INDEX access_list_element_address_index ON eth.access_list_elements USING btree (address); -CREATE INDEX access_list_storage_keys_index ON eth.access_list_elements USING gin (storage_keys); - -- log indexes CREATE INDEX log_block_number_index ON eth.log_cids USING btree (block_number); CREATE INDEX log_header_id_index ON eth.log_cids USING btree (header_id); @@ -65,11 +60,6 @@ DROP INDEX eth.log_cid_block_number_index; DROP INDEX eth.log_header_id_index; DROP INDEX eth.log_block_number_index; --- access list indexes -DROP INDEX eth.access_list_storage_keys_index; -DROP INDEX eth.access_list_element_address_index; -DROP INDEX eth.access_list_block_number_index; - -- storage node indexes DROP INDEX eth.storage_removed_index; DROP INDEX eth.storage_header_id_index; diff --git a/db/migrations/00014_create_db_version_table.sql b/db/migrations/00013_create_db_version_table.sql similarity index 100% rename from db/migrations/00014_create_db_version_table.sql rename to db/migrations/00013_create_db_version_table.sql diff --git a/db/migrations/00015_create_eth_meta_schema.sql b/db/migrations/00014_create_eth_meta_schema.sql similarity index 100% rename from db/migrations/00015_create_eth_meta_schema.sql rename to db/migrations/00014_create_eth_meta_schema.sql diff --git a/db/migrations/00016_create_watched_addresses_table.sql b/db/migrations/00015_create_watched_addresses_table.sql similarity index 100% rename from db/migrations/00016_create_watched_addresses_table.sql rename to db/migrations/00015_create_watched_addresses_table.sql diff --git a/db/migrations/00017_create_stored_functions.sql b/db/migrations/00016_create_stored_functions.sql similarity index 100% rename from db/migrations/00017_create_stored_functions.sql rename to db/migrations/00016_create_stored_functions.sql diff --git a/db/migrations/00018_convert_to_hypertables.sql b/db/migrations/00017_convert_to_hypertables.sql similarity index 88% rename from db/migrations/00018_convert_to_hypertables.sql rename to db/migrations/00017_convert_to_hypertables.sql index eef0cb1..ed38675 100644 --- a/db/migrations/00018_convert_to_hypertables.sql +++ b/db/migrations/00017_convert_to_hypertables.sql @@ -6,7 +6,6 @@ SELECT create_hypertable('eth.transaction_cids', 'block_number', migrate_data => SELECT create_hypertable('eth.receipt_cids', 'block_number', migrate_data => true, chunk_time_interval => 32768); SELECT create_hypertable('eth.state_cids', 'block_number', migrate_data => true, chunk_time_interval => 32768); SELECT create_hypertable('eth.storage_cids', 'block_number', migrate_data => true, chunk_time_interval => 32768); -SELECT create_hypertable('eth.access_list_elements', 'block_number', migrate_data => true, chunk_time_interval => 32768); SELECT create_hypertable('eth.log_cids', 'block_number', migrate_data => true, chunk_time_interval => 32768); -- update version @@ -20,7 +19,6 @@ INSERT INTO public.db_version (singleton, version) VALUES (true, 'v5.0.0') -- reversing conversion to hypertable requires migrating all data from every chunk back to a single table -- create new regular tables CREATE TABLE eth.log_cids_i (LIKE eth.log_cids INCLUDING ALL); -CREATE TABLE eth.access_list_elements_i (LIKE eth.access_list_elements INCLUDING ALL); CREATE TABLE eth.storage_cids_i (LIKE eth.storage_cids INCLUDING ALL); CREATE TABLE eth.state_cids_i (LIKE eth.state_cids INCLUDING ALL); CREATE TABLE eth.receipt_cids_i (LIKE eth.receipt_cids INCLUDING ALL); @@ -31,7 +29,6 @@ CREATE TABLE ipld.blocks_i (LIKE ipld.blocks INCLUDING ALL); -- migrate data INSERT INTO eth.log_cids_i (SELECT * FROM eth.log_cids); -INSERT INTO eth.access_list_elements_i (SELECT * FROM eth.access_list_elements); INSERT INTO eth.storage_cids_i (SELECT * FROM eth.storage_cids); INSERT INTO eth.state_cids_i (SELECT * FROM eth.state_cids); INSERT INTO eth.receipt_cids_i (SELECT * FROM eth.receipt_cids); @@ -42,7 +39,6 @@ INSERT INTO ipld.blocks_i (SELECT * FROM ipld.blocks); -- drop hypertables DROP TABLE eth.log_cids; -DROP TABLE eth.access_list_elements; DROP TABLE eth.storage_cids; DROP TABLE eth.state_cids; DROP TABLE eth.receipt_cids; @@ -53,7 +49,6 @@ DROP TABLE ipld.blocks; -- rename new tables ALTER TABLE eth.log_cids_i RENAME TO log_cids; -ALTER TABLE eth.access_list_elements_i RENAME TO access_list_elements; ALTER TABLE eth.storage_cids_i RENAME TO storage_cids; ALTER TABLE eth.state_cids_i RENAME TO state_cids; ALTER TABLE eth.receipt_cids_i RENAME TO receipt_cids; From dd35277c868316924cba61c40eac5040f699274d Mon Sep 17 00:00:00 2001 From: i-norden Date: Tue, 21 Feb 2023 20:07:03 -0600 Subject: [PATCH 2/2] updated schema --- schema.sql | 49 ------------------------------------------------- 1 file changed, 49 deletions(-) diff --git a/schema.sql b/schema.sql index 857d51d..0e800b0 100644 --- a/schema.sql +++ b/schema.sql @@ -238,19 +238,6 @@ CREATE FUNCTION public.was_state_leaf_removed(key character varying, hash charac $$; --- --- Name: access_list_elements; Type: TABLE; Schema: eth; Owner: - --- - -CREATE TABLE eth.access_list_elements ( - block_number bigint NOT NULL, - tx_id character varying(66) NOT NULL, - index integer NOT NULL, - address character varying(66), - storage_keys character varying(66)[] -); - - -- -- Name: log_cids; Type: TABLE; Schema: eth; Owner: - -- @@ -458,14 +445,6 @@ COMMENT ON COLUMN public.nodes.node_id IS '@name ChainNodeID'; ALTER TABLE ONLY public.goose_db_version ALTER COLUMN id SET DEFAULT nextval('public.goose_db_version_id_seq'::regclass); --- --- Name: access_list_elements access_list_elements_pkey; Type: CONSTRAINT; Schema: eth; Owner: - --- - -ALTER TABLE ONLY eth.access_list_elements - ADD CONSTRAINT access_list_elements_pkey PRIMARY KEY (tx_id, index, block_number); - - -- -- Name: header_cids header_cids_pkey; Type: CONSTRAINT; Schema: eth; Owner: - -- @@ -562,27 +541,6 @@ ALTER TABLE ONLY public.nodes ADD CONSTRAINT nodes_pkey PRIMARY KEY (node_id); --- --- Name: access_list_block_number_index; Type: INDEX; Schema: eth; Owner: - --- - -CREATE INDEX access_list_block_number_index ON eth.access_list_elements USING btree (block_number); - - --- --- Name: access_list_element_address_index; Type: INDEX; Schema: eth; Owner: - --- - -CREATE INDEX access_list_element_address_index ON eth.access_list_elements USING btree (address); - - --- --- Name: access_list_storage_keys_index; Type: INDEX; Schema: eth; Owner: - --- - -CREATE INDEX access_list_storage_keys_index ON eth.access_list_elements USING gin (storage_keys); - - -- -- Name: header_block_number_index; Type: INDEX; Schema: eth; Owner: - -- @@ -842,13 +800,6 @@ CREATE INDEX uncle_header_id_index ON eth.uncle_cids USING btree (header_id); CREATE INDEX blocks_block_number_idx ON ipld.blocks USING btree (block_number DESC); --- --- Name: access_list_elements ts_insert_blocker; Type: TRIGGER; Schema: eth; Owner: - --- - -CREATE TRIGGER ts_insert_blocker BEFORE INSERT ON eth.access_list_elements FOR EACH ROW EXECUTE FUNCTION _timescaledb_internal.insert_blocker(); - - -- -- Name: header_cids ts_insert_blocker; Type: TRIGGER; Schema: eth; Owner: - --