Skip to content

Commit

Permalink
Merge pull request #60 from tzConnectBerlin/bugfix-main-schema
Browse files Browse the repository at this point in the history
Bugfix: --main-schema feature was broken
  • Loading branch information
RKlompUU authored Aug 29, 2022
2 parents fe224e5 + 742223a commit a8440bb
Show file tree
Hide file tree
Showing 28 changed files with 149 additions and 124 deletions.
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "que-pasa"
version = "1.2.5"
version = "1.2.6"
authors = ["Rick Klomp <rick.klomp@tzconnect.com>"]
edition = "2018"

Expand Down
2 changes: 1 addition & 1 deletion run_dockerized.sh
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@

docker run \
--network host \
ghcr.io/tzconnectberlin/que-pasa:1.2.5 \
ghcr.io/tzconnectberlin/que-pasa:1.2.6 \
"$@"
24 changes: 12 additions & 12 deletions script/regression_tests.bash
Original file line number Diff line number Diff line change
Expand Up @@ -53,10 +53,10 @@ function query {

function assert {
query_id=0
query 'select count(1) from que_pasa.tx_contexts' || exit 1
query 'select count(1) from que_pasa.contracts' || exit 1
query 'select count(1) from que_pasa.contract_levels' || exit 1
query 'select count(1) from que_pasa.contract_deps' || exit 1
query 'select count(1) from "custom_Main_Schema".tx_contexts' || exit 1
query 'select count(1) from "custom_Main_Schema".contracts' || exit 1
query 'select count(1) from "custom_Main_Schema".contract_levels' || exit 1
query 'select count(1) from "custom_Main_Schema".contract_deps' || exit 1

query 'select administrator, all_tokens, paused, level, level_timestamp from "KT1RJ6PbjHpwc3M5rw5s2Nbmefwbuwbdxton"."storage_live"' || exit 1
query 'select level, level_timestamp, idx_address, idx_nat, nat from "KT1RJ6PbjHpwc3M5rw5s2Nbmefwbuwbdxton"."storage.ledger_live" order by idx_address, idx_nat' || exit 1
Expand Down Expand Up @@ -118,15 +118,15 @@ EOF

export RUST_BACKTRACE=1

cargo run -- --index-all-contracts -l 1500000-1500001 || exit 1
cargo run --features regression_force_update_derived -- --index-all-contracts -l 1500002-1500005 || exit 1
cargo run --features regression_force_update_derived -- --index-all-contracts -l 1700002-1700005 || exit 1
cargo run -- --main-schema custom_Main_Schema --index-all-contracts -l 1500000-1500001 || exit 1
cargo run --features regression_force_update_derived -- --main-schema custom_Main_Schema --index-all-contracts -l 1500002-1500005 || exit 1
cargo run --features regression_force_update_derived -- --main-schema custom_Main_Schema --index-all-contracts -l 1700002-1700005 || exit 1

# the latter has a delete bigmap, the first 3 have rows indexed of the deleted bigmap
cargo run --features regression_force_update_derived -- --index-all-contracts -l 1768431 || exit 1
cargo run --features regression_force_update_derived -- --index-all-contracts -l 1768503 || exit 1
cargo run --features regression_force_update_derived -- --index-all-contracts -l 1768506 || exit 1
cargo run --features regression_force_update_derived -- --index-all-contracts -l 1768606 || exit 1
cargo run --features regression_force_update_derived -- --main-schema custom_Main_Schema --index-all-contracts -l 1768431 || exit 1
cargo run --features regression_force_update_derived -- --main-schema custom_Main_Schema --index-all-contracts -l 1768503 || exit 1
cargo run --features regression_force_update_derived -- --main-schema custom_Main_Schema --index-all-contracts -l 1768506 || exit 1
cargo run --features regression_force_update_derived -- --main-schema custom_Main_Schema --index-all-contracts -l 1768606 || exit 1

if [[ "$MODE" == "inspect" ]]; then
psql
Expand All @@ -143,7 +143,7 @@ if [[ "$MODE" == "generate" ]]; then
fi

# verifying here that the repopulate also works with deleted bigmap rows
cargo run -- --index-all-contracts -l 1768606 || exit 1
cargo run -- --main-schema custom_Main_Schema --index-all-contracts -l 1768606 || exit 1

assert

Expand Down
36 changes: 18 additions & 18 deletions sql/common-tables.sql
Original file line number Diff line number Diff line change
Expand Up @@ -92,10 +92,10 @@ CREATE VIEW txs_ordered AS (
ctx.level,
meta.baked_at as level_timestamp,
tx.*
FROM que_pasa.txs tx
JOIN que_pasa.tx_contexts ctx
FROM txs tx
JOIN tx_contexts ctx
ON ctx.id = tx.tx_context_id
JOIN que_pasa.levels meta
JOIN levels meta
ON meta.level = ctx.level
ORDER BY ordering
);
Expand Down Expand Up @@ -136,7 +136,7 @@ CREATE TABLE bigmap_keys(
);


CREATE OR REPLACE FUNCTION que_pasa.last_context_at(lvl INT) RETURNS TABLE (tx_context_id BIGINT, level INT, operation_group_number INT, operation_number INT, content_number INT, internal_number INT)
CREATE OR REPLACE FUNCTION "{main_schema}".last_context_at(lvl INT) RETURNS TABLE (tx_context_id BIGINT, level INT, operation_group_number INT, operation_number INT, content_number INT, internal_number INT)
AS $$
SELECT
ctx.id as tx_context_id,
Expand All @@ -145,17 +145,17 @@ AS $$
operation_number,
content_number,
internal_number
FROM que_pasa.tx_contexts AS ctx
FROM "{main_schema}".tx_contexts AS ctx
WHERE id = (
SELECT id
FROM que_pasa.tx_contexts
FROM "{main_schema}".tx_contexts
WHERE level <= lvl
ORDER BY level DESC, operation_group_number DESC, operation_number DESC, content_number DESC, COALESCE(internal_number, -1) DESC
LIMIT 1
)
$$ LANGUAGE SQL;

CREATE OR REPLACE FUNCTION que_pasa.last_context_at(lvl INT, op_grp INT) RETURNS TABLE (tx_context_id BIGINT, level INT, operation_group_number INT, operation_number INT, content_number INT, internal_number INT)
CREATE OR REPLACE FUNCTION "{main_schema}".last_context_at(lvl INT, op_grp INT) RETURNS TABLE (tx_context_id BIGINT, level INT, operation_group_number INT, operation_number INT, content_number INT, internal_number INT)
AS $$
SELECT
ctx.id AS tx_context_id,
Expand All @@ -164,10 +164,10 @@ AS $$
operation_number,
content_number,
internal_number
FROM que_pasa.tx_contexts AS ctx
FROM "{main_schema}".tx_contexts AS ctx
WHERE id = (
SELECT id
FROM que_pasa.tx_contexts
FROM "{main_schema}".tx_contexts
WHERE ARRAY[
level,
operation_group_number]
Expand All @@ -180,7 +180,7 @@ AS $$
)
$$ LANGUAGE SQL;

CREATE OR REPLACE FUNCTION que_pasa.last_context_at(lvl INT, op_grp INT, op INT) RETURNS TABLE (tx_context_id BIGINT, level INT, operation_group_number INT, operation_number INT, content_number INT, internal_number INT)
CREATE OR REPLACE FUNCTION "{main_schema}".last_context_at(lvl INT, op_grp INT, op INT) RETURNS TABLE (tx_context_id BIGINT, level INT, operation_group_number INT, operation_number INT, content_number INT, internal_number INT)
AS $$
SELECT
ctx.id,
Expand All @@ -189,10 +189,10 @@ AS $$
operation_number,
content_number,
internal_number
FROM que_pasa.tx_contexts AS ctx
FROM "{main_schema}".tx_contexts AS ctx
WHERE id = (
SELECT id
FROM que_pasa.tx_contexts
FROM "{main_schema}".tx_contexts
WHERE ARRAY[
level,
operation_group_number,
Expand All @@ -207,7 +207,7 @@ AS $$
)
$$ LANGUAGE SQL;

CREATE OR REPLACE FUNCTION que_pasa.last_context_at(lvl INT, op_grp INT, op INT, content INT) RETURNS TABLE (tx_context_id BIGINT, level INT, operation_group_number INT, operation_number INT, content_number INT, internal_number INT)
CREATE OR REPLACE FUNCTION "{main_schema}".last_context_at(lvl INT, op_grp INT, op INT, content INT) RETURNS TABLE (tx_context_id BIGINT, level INT, operation_group_number INT, operation_number INT, content_number INT, internal_number INT)
AS $$
SELECT
ctx.id AS tx_context_id,
Expand All @@ -216,10 +216,10 @@ AS $$
operation_number,
content_number,
internal_number
FROM que_pasa.tx_contexts AS ctx
FROM "{main_schema}".tx_contexts AS ctx
WHERE id = (
SELECT id
FROM que_pasa.tx_contexts
FROM "{main_schema}".tx_contexts
WHERE ARRAY[
level,
operation_group_number,
Expand All @@ -236,7 +236,7 @@ AS $$
)
$$ LANGUAGE SQL;

CREATE OR REPLACE FUNCTION que_pasa.last_context_at(lvl INT, op_grp INT, op INT, content INT, internal INT) RETURNS TABLE (tx_context_id BIGINT, level INT, operation_group_number INT, operation_number INT, content_number INT, internal_number INT)
CREATE OR REPLACE FUNCTION "{main_schema}".last_context_at(lvl INT, op_grp INT, op INT, content INT, internal INT) RETURNS TABLE (tx_context_id BIGINT, level INT, operation_group_number INT, operation_number INT, content_number INT, internal_number INT)
AS $$
SELECT
ctx.id AS tx_context_id,
Expand All @@ -245,10 +245,10 @@ AS $$
operation_number,
content_number,
internal_number
FROM que_pasa.tx_contexts AS ctx
FROM "{main_schema}".tx_contexts AS ctx
WHERE id = (
SELECT id
FROM que_pasa.tx_contexts
FROM "{main_schema}".tx_contexts
WHERE ARRAY[
level,
operation_group_number,
Expand Down
4 changes: 2 additions & 2 deletions sql/templates/create-changes-functions.sql
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ AS $$
, LAST_VALUE(t.{{ col }}) OVER w AS {{ col }}
{%- endfor %}
FROM "{{ contract_schema }}"."{{ table }}_ordered" AS t
CROSS JOIN que_pasa.contracts AS contract
JOIN que_pasa.tx_contexts ctx
CROSS JOIN "{{ main_schema }}".contracts AS contract
JOIN "{{ main_schema }}".tx_contexts ctx
ON ctx.id = t.tx_context_id
AND ctx.contract = contract.address
WHERE contract.name = '{{ contract_schema }}'
Expand Down
8 changes: 4 additions & 4 deletions sql/templates/create-entrypoint-changes-functions.sql
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,16 @@ BEGIN
value->>'contract_address' AS address,
value->>'table' AS "table"
INTO source
FROM bigmap_meta_actions AS meta
FROM "{{ main_schema }}".bigmap_meta_actions AS meta
WHERE action = 'alloc'
AND meta.bigmap_id = (
SELECT (value->'source')::INT
FROM bigmap_meta_actions AS meta
FROM "{{ main_schema }}".bigmap_meta_actions AS meta
WHERE meta.action = 'copy'
AND meta.bigmap_id = bigmap_target
AND tx_context_id = (
SELECT ctx.id
FROM tx_contexts AS ctx
FROM "{{ main_schema }}".tx_contexts AS ctx
JOIN "{{ contract_schema }}"."{{ table }}" AS t
ON t.tx_context_id = ctx.id
WHERE ARRAY[
Expand All @@ -60,7 +60,7 @@ BEGIN

SELECT name
INTO source_schema
FROM contracts
FROM "{{ main_schema }}".contracts
WHERE address = source.address;

in_schema := source_schema;
Expand Down
8 changes: 4 additions & 4 deletions sql/templates/create-function-shortcuts.sql
Original file line number Diff line number Diff line change
Expand Up @@ -13,27 +13,27 @@ AS $$
FROM (
SELECT
"{{ contract_schema }}"."{{ table }}_{{ function_postfix }}"(ctx.level, ctx.operation_group_number, ctx.operation_number, ctx.content_number, ctx.internal_number)
FROM que_pasa.last_context_at(lvl) AS ctx
FROM "{{ main_schema }}".last_context_at(lvl) AS ctx
) q
$$ LANGUAGE SQL;

CREATE OR REPLACE FUNCTION "{{ contract_schema }}"."{{ table }}_{{ function_postfix }}"(lvl INT, op_grp INT) RETURNS TABLE ({% call unfold(typed_columns, "", false) %})
AS $$
SELECT
"{{ contract_schema }}"."{{ table }}_{{ function_postfix }}"(ctx.level, ctx.operation_group_number, ctx.operation_number, ctx.content_number, ctx.internal_number)
FROM que_pasa.last_context_at(lvl, op_grp) AS ctx
FROM "{{ main_schema }}".last_context_at(lvl, op_grp) AS ctx
$$ LANGUAGE SQL;

CREATE OR REPLACE FUNCTION "{{ contract_schema }}"."{{ table }}_{{ function_postfix }}"(lvl INT, op_grp INT, op INT) RETURNS TABLE ({% call unfold(typed_columns, "", false) %})
AS $$
SELECT
"{{ contract_schema }}"."{{ table }}_{{ function_postfix }}"(ctx.level, ctx.operation_group_number, ctx.operation_number, ctx.content_number, ctx.internal_number)
FROM que_pasa.last_context_at(lvl, op_grp, op) AS ctx
FROM "{{ main_schema }}".last_context_at(lvl, op_grp, op) AS ctx
$$ LANGUAGE SQL;

CREATE OR REPLACE FUNCTION "{{ contract_schema }}"."{{ table }}_{{ function_postfix }}"(lvl INT, op_grp INT, op INT, content INT) RETURNS TABLE ({% call unfold(typed_columns, "", false) %})
AS $$
SELECT
"{{ contract_schema }}"."{{ table }}_{{ function_postfix }}"(ctx.level, ctx.operation_group_number, ctx.operation_number, ctx.content_number, ctx.internal_number)
FROM que_pasa.last_context_at(lvl, op_grp, op, content) AS ctx
FROM "{{ main_schema }}".last_context_at(lvl, op_grp, op, content) AS ctx
$$ LANGUAGE SQL;
2 changes: 1 addition & 1 deletion sql/templates/create-snapshot-functions.sql
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ AS $$
SELECT
ctx.id AS tx_context_id
FROM "{{ contract_schema }}"."{{ table }}" AS t
JOIN que_pasa.tx_contexts ctx
JOIN "{{ main_schema }}".tx_contexts ctx
ON ctx.id = t.tx_context_id
WHERE ARRAY[
ctx.level,
Expand Down
14 changes: 7 additions & 7 deletions sql/templates/repopulate-changes-derived.sql
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ FROM (
t.*
FROM "{{ contract_schema }}"."{{ table }}" t
WHERE t.bigmap_id NOT IN (
SELECT bigmap_id FROM que_pasa.bigmap_meta_actions WHERE action = 'clear'
SELECT bigmap_id FROM "{{ main_schema }}".bigmap_meta_actions WHERE action = 'clear'
)
) t
JOIN tx_contexts ctx
JOIN "{{ main_schema }}".tx_contexts ctx
ON ctx.id = t.tx_context_id
JOIN levels level_meta
JOIN "{{ main_schema }}".levels level_meta
ON level_meta.level = ctx.level
ORDER BY
{% call unfold(indices, "t", false) %},
Expand Down Expand Up @@ -95,10 +95,10 @@ FROM (
{%- for col in columns %}
, LAST_VALUE(t.{{ col }}) OVER w AS {{ col }}
{%- endfor %}
FROM que_pasa.bigmap_meta_actions AS bigmap_meta
FROM "{{ main_schema }}".bigmap_meta_actions AS bigmap_meta
JOIN "{{ contract_schema }}"."{{ table }}" t
ON t.bigmap_id = bigmap_meta.bigmap_id
JOIN tx_contexts ctx
JOIN "{{ main_schema }}".tx_contexts ctx
ON ctx.id = t.tx_context_id
WHERE bigmap_meta.action = 'clear'
WINDOW w AS (
Expand All @@ -120,9 +120,9 @@ FROM (
WHERE NOT t.latest_deleted
AND t2 IS NULL
) t -- t with bigmap clears unfolded
JOIN tx_contexts ctx
JOIN "{{ main_schema }}".tx_contexts ctx
ON ctx.id = t.tx_context_id
JOIN levels level_meta
JOIN "{{ main_schema }}".levels level_meta
ON level_meta.level = ctx.level
) q;

Expand Down
8 changes: 4 additions & 4 deletions sql/templates/repopulate-snapshot-derived.sql
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ FROM (
ctx.id,
ctx.level
FROM "{{ contract_schema }}"."{{ parent_table }}" t
JOIN tx_contexts ctx
JOIN "{{ main_schema }}".tx_contexts ctx
ON ctx.id = t.tx_context_id
ORDER BY
ctx.level DESC,
Expand All @@ -36,7 +36,7 @@ FROM (
COALESCE(ctx.internal_number, -1) DESC
LIMIT 1
) last_ctx
JOIN levels level_meta
JOIN "{{ main_schema }}".levels level_meta
ON level_meta.level = last_ctx.level
WHERE t.tx_context_id = last_ctx.id
) q;
Expand Down Expand Up @@ -64,8 +64,8 @@ FROM (
t.tx_context_id
{% call unfold(columns, "t", true) %}
FROM "{{ contract_schema }}"."{{ table }}" t
JOIN tx_contexts ctx
JOIN "{{ main_schema }}".tx_contexts ctx
ON ctx.id = t.tx_context_id
JOIN levels level_meta
JOIN "{{ main_schema }}".levels level_meta
ON level_meta.level = ctx.level
) q;
Loading

0 comments on commit a8440bb

Please sign in to comment.