Skip to content

Commit c2d52f0

Browse files
authoredJul 27, 2022
services/horizon: added indexes by id for cb and liquidity pool on tx/ops tables (#4477)
1 parent ccd515b commit c2d52f0

File tree

6 files changed

+53
-7
lines changed

6 files changed

+53
-7
lines changed
 

‎services/horizon/CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ file. This project adheres to [Semantic Versioning](http://semver.org/).
77
- Run postgres autovacuum on `history_trades_60000` table more frequently
88
([4412](https://github.com/stellar/go/pull/4412)).
99

10+
- Added indexes by id for claimable balance and liquidity pool id's in the respective tx/ops tables ([4455](https://github.com/stellar/go/pull/4477))
11+
1012

1113
## 2.18.1
1214
* Enabled txsub system to work if/when underlying horizon db connection is read only. ([4418](https://github.com/stellar/go/pull/4418))

‎services/horizon/internal/db2/schema/bindata.go

+23
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
-- +migrate Up
2+
3+
CREATE INDEX "index_history_operation_claimable_balances_on_id" ON history_operation_claimable_balances USING btree (history_claimable_balance_id);
4+
CREATE INDEX "index_history_transaction_claimable_balances_on_id" ON history_transaction_claimable_balances USING btree (history_claimable_balance_id);
5+
CREATE INDEX "index_history_operation_liquidity_pools_on_id" ON history_operation_liquidity_pools USING btree (history_liquidity_pool_id);
6+
CREATE INDEX "index_history_transaction_liquidity_pools_on_id" ON history_transaction_liquidity_pools USING btree (history_liquidity_pool_id);
7+
8+
-- +migrate Down
9+
10+
DROP INDEX "index_history_operation_claimable_balances_on_id";
11+
DROP INDEX "index_history_transaction_claimable_balances_on_id";
12+
DROP INDEX "index_history_operation_liquidity_pools_on_id";
13+
DROP INDEX "index_history_transaction_liquidity_pools_on_id";
14+

‎services/horizon/internal/test/scenarios/base-horizon.sql

+4
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,7 @@ CREATE TABLE history_operation_claimable_balances (
363363

364364
CREATE UNIQUE INDEX "index_history_operation_claimable_balances_on_ids" ON history_operation_claimable_balances USING btree (history_operation_id , history_claimable_balance_id);
365365
CREATE INDEX "index_history_operation_claimable_balances_on_operation_id" ON history_operation_claimable_balances USING btree (history_operation_id);
366+
CREATE INDEX "index_history_operation_claimable_balances_on_id" ON history_operation_claimable_balances USING btree (history_claimable_balance_id);
366367

367368
CREATE TABLE history_transaction_claimable_balances (
368369
history_transaction_id bigint NOT NULL,
@@ -371,6 +372,7 @@ CREATE TABLE history_transaction_claimable_balances (
371372

372373
CREATE UNIQUE INDEX "index_history_transaction_claimable_balances_on_ids" ON history_transaction_claimable_balances USING btree (history_transaction_id , history_claimable_balance_id);
373374
CREATE INDEX "index_history_transaction_claimable_balances_on_transaction_id" ON history_transaction_claimable_balances USING btree (history_transaction_id);
375+
CREATE INDEX "index_history_transaction_claimable_balances_on_id" ON history_transaction_claimable_balances USING btree (history_claimable_balance_id);
374376

375377

376378
INSERT INTO history_claimable_balances VALUES (1, '00000000178826fbfe339e1f5c53417c6fedfe2c05e8bec14303143ec46b38981b09c3f9');
@@ -1503,6 +1505,7 @@ CREATE TABLE history_operation_liquidity_pools (
15031505

15041506
CREATE UNIQUE INDEX index_history_operation_liquidity_pools_on_ids ON history_operation_liquidity_pools USING btree (history_operation_id , history_liquidity_pool_id);
15051507
CREATE INDEX index_history_operation_liquidity_pools_on_operation_id ON history_operation_liquidity_pools USING btree (history_operation_id);
1508+
CREATE INDEX index_history_operation_liquidity_pools_on_id ON history_operation_liquidity_pools USING btree (history_liquidity_pool_id);
15061509

15071510
CREATE TABLE history_transaction_liquidity_pools (
15081511
history_transaction_id bigint NOT NULL,
@@ -1511,6 +1514,7 @@ CREATE TABLE history_transaction_liquidity_pools (
15111514

15121515
CREATE UNIQUE INDEX index_history_transaction_liquidity_pools_on_ids ON history_transaction_liquidity_pools USING btree (history_transaction_id , history_liquidity_pool_id);
15131516
CREATE INDEX index_history_transaction_liquidity_pools_on_transaction_id ON history_transaction_liquidity_pools USING btree (history_transaction_id);
1517+
CREATE INDEX index_history_transaction_liquidity_pools_on_id ON history_transaction_liquidity_pools USING btree (history_liquidity_pool_id);
15141518

15151519
ALTER TABLE trust_lines ADD liquidity_pool_id text;
15161520
CREATE INDEX trust_lines_by_liquidity_pool_id ON trust_lines USING BTREE(liquidity_pool_id);

‎services/horizon/internal/test/scenarios/bindata.go

+6-6
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎services/horizon/internal/test/scenarios/kahuna-horizon.sql

+4-1
Original file line numberDiff line numberDiff line change
@@ -365,6 +365,7 @@ CREATE TABLE history_operation_claimable_balances (
365365

366366
CREATE UNIQUE INDEX "index_history_operation_claimable_balances_on_ids" ON history_operation_claimable_balances USING btree (history_operation_id , history_claimable_balance_id);
367367
CREATE INDEX "index_history_operation_claimable_balances_on_operation_id" ON history_operation_claimable_balances USING btree (history_operation_id);
368+
CREATE INDEX "index_history_operation_claimable_balances_on_id" ON history_operation_claimable_balances USING btree (history_claimable_balance_id);
368369

369370
CREATE TABLE history_transaction_claimable_balances (
370371
history_transaction_id bigint NOT NULL,
@@ -373,7 +374,7 @@ CREATE TABLE history_transaction_claimable_balances (
373374

374375
CREATE UNIQUE INDEX "index_history_transaction_claimable_balances_on_ids" ON history_transaction_claimable_balances USING btree (history_transaction_id , history_claimable_balance_id);
375376
CREATE INDEX "index_history_transaction_claimable_balances_on_transaction_id" ON history_transaction_claimable_balances USING btree (history_transaction_id);
376-
377+
CREATE INDEX "index_history_transaction_claimable_balances_on_id" ON history_transaction_claimable_balances USING btree (history_claimable_balance_id);
377378

378379
INSERT INTO history_claimable_balances VALUES (1, '00000000178826fbfe339e1f5c53417c6fedfe2c05e8bec14303143ec46b38981b09c3f9');
379380
SELECT pg_catalog.setval('history_claimable_balances_id_seq', 1, true);
@@ -2090,6 +2091,7 @@ CREATE TABLE history_operation_liquidity_pools (
20902091

20912092
CREATE UNIQUE INDEX index_history_operation_liquidity_pools_on_ids ON history_operation_liquidity_pools USING btree (history_operation_id , history_liquidity_pool_id);
20922093
CREATE INDEX index_history_operation_liquidity_pools_on_operation_id ON history_operation_liquidity_pools USING btree (history_operation_id);
2094+
CREATE INDEX index_history_operation_liquidity_pools_on_id ON history_operation_liquidity_pools USING btree (history_liquidity_pool_id);
20932095

20942096
CREATE TABLE history_transaction_liquidity_pools (
20952097
history_transaction_id bigint NOT NULL,
@@ -2098,6 +2100,7 @@ CREATE TABLE history_transaction_liquidity_pools (
20982100

20992101
CREATE UNIQUE INDEX index_history_transaction_liquidity_pools_on_ids ON history_transaction_liquidity_pools USING btree (history_transaction_id , history_liquidity_pool_id);
21002102
CREATE INDEX index_history_transaction_liquidity_pools_on_transaction_id ON history_transaction_liquidity_pools USING btree (history_transaction_id);
2103+
CREATE INDEX index_history_transaction_liquidity_pools_on_id ON history_transaction_liquidity_pools USING btree (history_liquidity_pool_id);
21012104

21022105
ALTER TABLE trust_lines ADD liquidity_pool_id text;
21032106
CREATE INDEX trust_lines_by_liquidity_pool_id ON trust_lines USING BTREE(liquidity_pool_id);

0 commit comments

Comments
 (0)