From 9da61288d2797bbc36289fd7f3ded75263ccfcb9 Mon Sep 17 00:00:00 2001 From: Radu Berinde Date: Thu, 14 Nov 2024 05:40:27 -0800 Subject: [PATCH] clusterversion: create 25.1 version This change bumps the version on master to 25.1 without advancing the previous release to 24.3 (the latter can only be done once we have a published RC, or upgrade tests will fail). To allow this decoupling, a few minor tweaks were needed (to `SupportedPreviousReleases` and to the tool that generates the releases file. Also made some minor improvements to the runbook and sql-bootstrap-data. I will do a more thorough change to the runbook that separates this step. - [x] Add version key constant for new release, equal to `Latest` - [x] Update `PreviousRelease` constant - [x] Add start version - [x] Update `pkg/build/version.txt` to the new version - [x] Add mixed version logictest config for the replaced version - [x] Update the `scplan` rules in `pkg/sql/schemachanger/scplan/internal/rules` (already done) - [x] Create new SQL bootstrap data - [x] Update releases file Epic: REL-1322 --- .../settings/settings-for-tenants.txt | 2 +- docs/generated/settings/settings.html | 2 +- pkg/BUILD.bazel | 8 + pkg/build/version.txt | 2 +- .../testdata/logic_test/crdb_internal_tenant | 4 +- .../tests/local-mixed-24.3/BUILD.bazel | 28 + .../tests/local-mixed-24.3/generated_test.go | 293 ++ pkg/cli/testdata/declarative-rules/deprules | 695 +++-- .../declarative-rules/invalid_version | 2 +- pkg/clusterversion/README.md | 13 +- pkg/clusterversion/cockroach_versions.go | 24 +- pkg/cmd/release/update_releases.go | 13 +- .../mixedversion/mixedversion_test.go | 3 +- .../testdata/planner/skip_version_upgrades | 72 +- pkg/cmd/sql-bootstrap-data/main.go | 12 +- pkg/roachpb/version.go | 1 + pkg/roachpb/version_test.go | 2 +- pkg/sql/catalog/bootstrap/BUILD.bazel | 4 + .../catalog/bootstrap/data/24_3_system.keys | 197 ++ .../catalog/bootstrap/data/24_3_system.sha256 | 1 + .../catalog/bootstrap/data/24_3_tenant.keys | 126 + .../catalog/bootstrap/data/24_3_tenant.sha256 | 1 + pkg/sql/catalog/bootstrap/initial_values.go | 18 + pkg/sql/catalog/systemschema/system.go | 2 +- .../logictest/logictestbase/logictestbase.go | 19 + .../testdata/logic_test/crdb_internal | 4 +- .../testdata/logic_test/crdb_internal_catalog | 3 +- pkg/sql/logictest/testdata/logic_test/notice | 2 +- .../tests/local-mixed-24.3/BUILD.bazel | 30 + .../tests/local-mixed-24.3/generated_test.go | 2601 +++++++++++++++++ .../tests/local-mixed-24.3/BUILD.bazel | 31 + .../tests/local-mixed-24.3/generated_test.go | 93 + .../testdata/pgtest/multiple_active_portals | 10 +- pkg/sql/pgwire/testdata/pgtest/portals_crbugs | 2 +- .../internal/rules/current/testdata/deprules | 20 +- .../rules/release_24_3/testdata/deprules | 20 +- .../tests/local-mixed-24.3/BUILD.bazel | 28 + .../tests/local-mixed-24.3/generated_test.go | 1434 +++++++++ pkg/storage/pebble_merge.go | 2 +- pkg/testutils/release/cockroach_releases.yaml | 3 +- pkg/upgrade/upgrades/upgrades.go | 2 + 41 files changed, 5415 insertions(+), 414 deletions(-) create mode 100644 pkg/ccl/logictestccl/tests/local-mixed-24.3/BUILD.bazel create mode 100644 pkg/ccl/logictestccl/tests/local-mixed-24.3/generated_test.go create mode 100644 pkg/sql/catalog/bootstrap/data/24_3_system.keys create mode 100644 pkg/sql/catalog/bootstrap/data/24_3_system.sha256 create mode 100644 pkg/sql/catalog/bootstrap/data/24_3_tenant.keys create mode 100644 pkg/sql/catalog/bootstrap/data/24_3_tenant.sha256 create mode 100644 pkg/sql/logictest/tests/local-mixed-24.3/BUILD.bazel create mode 100644 pkg/sql/logictest/tests/local-mixed-24.3/generated_test.go create mode 100644 pkg/sql/opt/exec/execbuilder/tests/local-mixed-24.3/BUILD.bazel create mode 100644 pkg/sql/opt/exec/execbuilder/tests/local-mixed-24.3/generated_test.go create mode 100644 pkg/sql/sqlitelogictest/tests/local-mixed-24.3/BUILD.bazel create mode 100644 pkg/sql/sqlitelogictest/tests/local-mixed-24.3/generated_test.go diff --git a/docs/generated/settings/settings-for-tenants.txt b/docs/generated/settings/settings-for-tenants.txt index 4de8d6edbd56..6a87735ce694 100644 --- a/docs/generated/settings/settings-for-tenants.txt +++ b/docs/generated/settings/settings-for-tenants.txt @@ -402,4 +402,4 @@ trace.span_registry.enabled boolean true if set, ongoing traces can be seen at h trace.zipkin.collector string the address of a Zipkin instance to receive traces, as :. If no port is specified, 9411 will be used. application ui.database_locality_metadata.enabled boolean true if enabled shows extended locality data about databases and tables in DB Console which can be expensive to compute application ui.display_timezone enumeration etc/utc the timezone used to format timestamps in the ui [etc/utc = 0, america/new_york = 1] application -version version 1000024.2-upgrading-to-1000024.3-step-022 set the active cluster version in the format '.' application +version version 1000024.3-upgrading-to-1000025.1-step-002 set the active cluster version in the format '.' application diff --git a/docs/generated/settings/settings.html b/docs/generated/settings/settings.html index 40476e3cd6c4..e0e3ea308c24 100644 --- a/docs/generated/settings/settings.html +++ b/docs/generated/settings/settings.html @@ -360,6 +360,6 @@
trace.zipkin.collector
stringthe address of a Zipkin instance to receive traces, as <host>:<port>. If no port is specified, 9411 will be used.Serverless/Dedicated/Self-Hosted
ui.database_locality_metadata.enabled
booleantrueif enabled shows extended locality data about databases and tables in DB Console which can be expensive to computeServerless/Dedicated/Self-Hosted
ui.display_timezone
enumerationetc/utcthe timezone used to format timestamps in the ui [etc/utc = 0, america/new_york = 1]Serverless/Dedicated/Self-Hosted -
version
version1000024.2-upgrading-to-1000024.3-step-022set the active cluster version in the format '<major>.<minor>'Serverless/Dedicated/Self-Hosted +
version
version1000024.3-upgrading-to-1000025.1-step-002set the active cluster version in the format '<major>.<minor>'Serverless/Dedicated/Self-Hosted diff --git a/pkg/BUILD.bazel b/pkg/BUILD.bazel index ea54e0ef43bc..58f3966ebb2b 100644 --- a/pkg/BUILD.bazel +++ b/pkg/BUILD.bazel @@ -61,6 +61,7 @@ ALL_TESTS = [ "//pkg/ccl/logictestccl/tests/fakedist:fakedist_test", "//pkg/ccl/logictestccl/tests/local-legacy-schema-changer:local-legacy-schema-changer_test", "//pkg/ccl/logictestccl/tests/local-mixed-24.2:local-mixed-24_2_test", + "//pkg/ccl/logictestccl/tests/local-mixed-24.3:local-mixed-24_3_test", "//pkg/ccl/logictestccl/tests/local-read-committed:local-read-committed_test", "//pkg/ccl/logictestccl/tests/local-repeatable-read:local-repeatable-read_test", "//pkg/ccl/logictestccl/tests/local-vec-off:local-vec-off_test", @@ -486,6 +487,7 @@ ALL_TESTS = [ "//pkg/sql/logictest/tests/fakedist:fakedist_test", "//pkg/sql/logictest/tests/local-legacy-schema-changer:local-legacy-schema-changer_test", "//pkg/sql/logictest/tests/local-mixed-24.2:local-mixed-24_2_test", + "//pkg/sql/logictest/tests/local-mixed-24.3:local-mixed-24_3_test", "//pkg/sql/logictest/tests/local-vec-off:local-vec-off_test", "//pkg/sql/logictest/tests/local:local_test", "//pkg/sql/logictest/tests/multiregion-9node-3region-3azs:multiregion-9node-3region-3azs_test", @@ -503,6 +505,7 @@ ALL_TESTS = [ "//pkg/sql/opt/exec/execbuilder/tests/fakedist:fakedist_test", "//pkg/sql/opt/exec/execbuilder/tests/local-legacy-schema-changer:local-legacy-schema-changer_test", "//pkg/sql/opt/exec/execbuilder/tests/local-mixed-24.2:local-mixed-24_2_test", + "//pkg/sql/opt/exec/execbuilder/tests/local-mixed-24.3:local-mixed-24_3_test", "//pkg/sql/opt/exec/execbuilder/tests/local-vec-off:local-vec-off_test", "//pkg/sql/opt/exec/execbuilder/tests/local:local_test", "//pkg/sql/opt/exec/execbuilder:execbuilder_test", @@ -605,6 +608,7 @@ ALL_TESTS = [ "//pkg/sql/sqlitelogictest/tests/fakedist:fakedist_test", "//pkg/sql/sqlitelogictest/tests/local-legacy-schema-changer:local-legacy-schema-changer_test", "//pkg/sql/sqlitelogictest/tests/local-mixed-24.2:local-mixed-24_2_test", + "//pkg/sql/sqlitelogictest/tests/local-mixed-24.3:local-mixed-24_3_test", "//pkg/sql/sqlitelogictest/tests/local-read-committed:local-read-committed_test", "//pkg/sql/sqlitelogictest/tests/local-repeatable-read:local-repeatable-read_test", "//pkg/sql/sqlitelogictest/tests/local-vec-off:local-vec-off_test", @@ -931,6 +935,7 @@ GO_TARGETS = [ "//pkg/ccl/logictestccl/tests/fakedist:fakedist_test", "//pkg/ccl/logictestccl/tests/local-legacy-schema-changer:local-legacy-schema-changer_test", "//pkg/ccl/logictestccl/tests/local-mixed-24.2:local-mixed-24_2_test", + "//pkg/ccl/logictestccl/tests/local-mixed-24.3:local-mixed-24_3_test", "//pkg/ccl/logictestccl/tests/local-read-committed:local-read-committed_test", "//pkg/ccl/logictestccl/tests/local-repeatable-read:local-repeatable-read_test", "//pkg/ccl/logictestccl/tests/local-vec-off:local-vec-off_test", @@ -1962,6 +1967,7 @@ GO_TARGETS = [ "//pkg/sql/logictest/tests/fakedist:fakedist_test", "//pkg/sql/logictest/tests/local-legacy-schema-changer:local-legacy-schema-changer_test", "//pkg/sql/logictest/tests/local-mixed-24.2:local-mixed-24_2_test", + "//pkg/sql/logictest/tests/local-mixed-24.3:local-mixed-24_3_test", "//pkg/sql/logictest/tests/local-vec-off:local-vec-off_test", "//pkg/sql/logictest/tests/local:local_test", "//pkg/sql/logictest/tests/multiregion-9node-3region-3azs:multiregion-9node-3region-3azs_test", @@ -1988,6 +1994,7 @@ GO_TARGETS = [ "//pkg/sql/opt/exec/execbuilder/tests/fakedist:fakedist_test", "//pkg/sql/opt/exec/execbuilder/tests/local-legacy-schema-changer:local-legacy-schema-changer_test", "//pkg/sql/opt/exec/execbuilder/tests/local-mixed-24.2:local-mixed-24_2_test", + "//pkg/sql/opt/exec/execbuilder/tests/local-mixed-24.3:local-mixed-24_3_test", "//pkg/sql/opt/exec/execbuilder/tests/local-vec-off:local-vec-off_test", "//pkg/sql/opt/exec/execbuilder/tests/local:local_test", "//pkg/sql/opt/exec/execbuilder:execbuilder", @@ -2237,6 +2244,7 @@ GO_TARGETS = [ "//pkg/sql/sqlitelogictest/tests/fakedist:fakedist_test", "//pkg/sql/sqlitelogictest/tests/local-legacy-schema-changer:local-legacy-schema-changer_test", "//pkg/sql/sqlitelogictest/tests/local-mixed-24.2:local-mixed-24_2_test", + "//pkg/sql/sqlitelogictest/tests/local-mixed-24.3:local-mixed-24_3_test", "//pkg/sql/sqlitelogictest/tests/local-read-committed:local-read-committed_test", "//pkg/sql/sqlitelogictest/tests/local-repeatable-read:local-repeatable-read_test", "//pkg/sql/sqlitelogictest/tests/local-vec-off:local-vec-off_test", diff --git a/pkg/build/version.txt b/pkg/build/version.txt index a6f0b11222a8..358be2d31fc2 100644 --- a/pkg/build/version.txt +++ b/pkg/build/version.txt @@ -1 +1 @@ -v24.3.0-alpha.3 +v25.1.0-alpha.00000000 diff --git a/pkg/ccl/logictestccl/testdata/logic_test/crdb_internal_tenant b/pkg/ccl/logictestccl/testdata/logic_test/crdb_internal_tenant index 6cf76377ca75..9807ea1869e6 100644 --- a/pkg/ccl/logictestccl/testdata/logic_test/crdb_internal_tenant +++ b/pkg/ccl/logictestccl/testdata/logic_test/crdb_internal_tenant @@ -413,7 +413,7 @@ select crdb_internal.get_vmodule() query T SELECT crdb_internal.release_series(crdb_internal.node_executable_version()) ---- -24.3 +25.1 query ITTT colnames,rowsort select node_id, component, field, regexp_replace(regexp_replace(value, '^\d+$', ''), e':\\d+', ':') as value from crdb_internal.node_runtime_info @@ -501,7 +501,7 @@ select * from crdb_internal.gossip_alerts query T SELECT crdb_internal.release_series(crdb_internal.node_executable_version()) ---- -24.3 +25.1 user root diff --git a/pkg/ccl/logictestccl/tests/local-mixed-24.3/BUILD.bazel b/pkg/ccl/logictestccl/tests/local-mixed-24.3/BUILD.bazel new file mode 100644 index 000000000000..1ffe8472c60a --- /dev/null +++ b/pkg/ccl/logictestccl/tests/local-mixed-24.3/BUILD.bazel @@ -0,0 +1,28 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_test") + +go_test( + name = "local-mixed-24_3_test", + size = "enormous", + srcs = ["generated_test.go"], + data = [ + "//c-deps:libgeos", # keep + "//pkg/ccl/logictestccl:testdata", # keep + ], + exec_properties = {"test.Pool": "large"}, + shard_count = 31, + tags = ["cpu:1"], + deps = [ + "//pkg/base", + "//pkg/build/bazel", + "//pkg/ccl", + "//pkg/security/securityassets", + "//pkg/security/securitytest", + "//pkg/server", + "//pkg/sql/logictest", + "//pkg/testutils/serverutils", + "//pkg/testutils/skip", + "//pkg/testutils/testcluster", + "//pkg/util/leaktest", + "//pkg/util/randutil", + ], +) diff --git a/pkg/ccl/logictestccl/tests/local-mixed-24.3/generated_test.go b/pkg/ccl/logictestccl/tests/local-mixed-24.3/generated_test.go new file mode 100644 index 000000000000..1cfb52269633 --- /dev/null +++ b/pkg/ccl/logictestccl/tests/local-mixed-24.3/generated_test.go @@ -0,0 +1,293 @@ +// Copyright 2022 The Cockroach Authors. +// +// Use of this software is governed by the CockroachDB Software License +// included in the /LICENSE file. + +// Code generated by generate-logictest, DO NOT EDIT. + +package testlocal_mixed_243 + +import ( + "os" + "path/filepath" + "testing" + + "github.com/cockroachdb/cockroach/pkg/base" + "github.com/cockroachdb/cockroach/pkg/build/bazel" + "github.com/cockroachdb/cockroach/pkg/ccl" + "github.com/cockroachdb/cockroach/pkg/security/securityassets" + "github.com/cockroachdb/cockroach/pkg/security/securitytest" + "github.com/cockroachdb/cockroach/pkg/server" + "github.com/cockroachdb/cockroach/pkg/sql/logictest" + "github.com/cockroachdb/cockroach/pkg/testutils/serverutils" + "github.com/cockroachdb/cockroach/pkg/testutils/skip" + "github.com/cockroachdb/cockroach/pkg/testutils/testcluster" + "github.com/cockroachdb/cockroach/pkg/util/leaktest" + "github.com/cockroachdb/cockroach/pkg/util/randutil" +) + +const configIdx = 21 + +var cclLogicTestDir string + +func init() { + if bazel.BuiltWithBazel() { + var err error + cclLogicTestDir, err = bazel.Runfile("pkg/ccl/logictestccl/testdata/logic_test") + if err != nil { + panic(err) + } + } else { + cclLogicTestDir = "../../../../ccl/logictestccl/testdata/logic_test" + } +} + +func TestMain(m *testing.M) { + defer ccl.TestingEnableEnterprise()() + securityassets.SetLoader(securitytest.EmbeddedAssets) + randutil.SeedForTests() + serverutils.InitTestServerFactory(server.TestServerFactory) + serverutils.InitTestClusterFactory(testcluster.TestClusterFactory) + + defer serverutils.TestingSetDefaultTenantSelectionOverride( + base.TestIsForStuffThatShouldWorkWithSecondaryTenantsButDoesntYet(76378), + )() + + os.Exit(m.Run()) +} + +func runCCLLogicTest(t *testing.T, file string) { + skip.UnderDeadlock(t, "times out and/or hangs") + logictest.RunLogicTest(t, logictest.TestServerArgs{}, configIdx, filepath.Join(cclLogicTestDir, file)) +} + +// TestLogic_tmp runs any tests that are prefixed with "_", in which a dedicated +// test is not generated for. This allows developers to create and run temporary +// test files that are not checked into the repository, without repeatedly +// regenerating and reverting changes to this file, generated_test.go. +// +// TODO(mgartner): Add file filtering so that individual files can be run, +// instead of all files with the "_" prefix. +func TestLogic_tmp(t *testing.T) { + defer leaktest.AfterTest(t)() + var glob string + glob = filepath.Join(cclLogicTestDir, "_*") + logictest.RunLogicTests(t, logictest.TestServerArgs{}, configIdx, glob) +} + +func TestCCLLogic_fips_ready( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "fips_ready") +} + +func TestCCLLogic_fk_read_committed( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "fk_read_committed") +} + +func TestCCLLogic_hash_sharded_index_read_committed( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "hash_sharded_index_read_committed") +} + +func TestCCLLogic_nested_routines( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "nested_routines") +} + +func TestCCLLogic_new_schema_changer( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "new_schema_changer") +} + +func TestCCLLogic_partitioning_enum( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "partitioning_enum") +} + +func TestCCLLogic_pgcrypto_builtins( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "pgcrypto_builtins") +} + +func TestCCLLogic_plpgsql_assign( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "plpgsql_assign") +} + +func TestCCLLogic_plpgsql_block( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "plpgsql_block") +} + +func TestCCLLogic_plpgsql_call( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "plpgsql_call") +} + +func TestCCLLogic_plpgsql_cursor( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "plpgsql_cursor") +} + +func TestCCLLogic_plpgsql_into( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "plpgsql_into") +} + +func TestCCLLogic_plpgsql_record( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "plpgsql_record") +} + +func TestCCLLogic_plpgsql_txn( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "plpgsql_txn") +} + +func TestCCLLogic_plpgsql_unsupported( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "plpgsql_unsupported") +} + +func TestCCLLogic_procedure_params( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "procedure_params") +} + +func TestCCLLogic_procedure_plpgsql( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "procedure_plpgsql") +} + +func TestCCLLogic_read_committed( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "read_committed") +} + +func TestCCLLogic_redact_descriptor( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "redact_descriptor") +} + +func TestCCLLogic_refcursor( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "refcursor") +} + +func TestCCLLogic_schema_change_in_txn( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "schema_change_in_txn") +} + +func TestCCLLogic_select_for_update_read_committed( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "select_for_update_read_committed") +} + +func TestCCLLogic_show_create( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "show_create") +} + +func TestCCLLogic_subject( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "subject") +} + +func TestCCLLogic_triggers( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "triggers") +} + +func TestCCLLogic_udf_params( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "udf_params") +} + +func TestCCLLogic_udf_plpgsql( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "udf_plpgsql") +} + +func TestCCLLogic_udf_rewrite( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "udf_rewrite") +} + +func TestCCLLogic_udf_volatility_check( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "udf_volatility_check") +} + +func TestCCLLogic_unique_read_committed( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "unique_read_committed") +} + +func TestCCLLogic_vector( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runCCLLogicTest(t, "vector") +} diff --git a/pkg/cli/testdata/declarative-rules/deprules b/pkg/cli/testdata/declarative-rules/deprules index 844da777f531..69e82c5295ee 100644 --- a/pkg/cli/testdata/declarative-rules/deprules +++ b/pkg/cli/testdata/declarative-rules/deprules @@ -1,6 +1,6 @@ dep ---- -debug declarative-print-rules 1000024.2 dep +debug declarative-print-rules 1000024.3 dep deprules ---- - name: 'CheckConstraint transitions to ABSENT uphold 2-version invariant: PUBLIC->VALIDATED' @@ -16,12 +16,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = PUBLIC - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'CheckConstraint transitions to ABSENT uphold 2-version invariant: TRANSIENT_ABSENT->ABSENT' @@ -37,12 +37,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_ABSENT - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'CheckConstraint transitions to ABSENT uphold 2-version invariant: TRANSIENT_VALIDATED->VALIDATED' @@ -58,12 +58,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_VALIDATED - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'CheckConstraint transitions to ABSENT uphold 2-version invariant: TRANSIENT_WRITE_ONLY->VALIDATED' @@ -79,12 +79,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'CheckConstraint transitions to ABSENT uphold 2-version invariant: VALIDATED->ABSENT' @@ -100,12 +100,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - nodeNotExistsWithStatusIn_TRANSIENT_VALIDATED_WRITE_ONLY_TRANSIENT_WRITE_ONLY($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -122,12 +122,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'CheckConstraint transitions to PUBLIC uphold 2-version invariant: ABSENT->WRITE_ONLY' @@ -143,12 +143,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = ABSENT - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'CheckConstraint transitions to PUBLIC uphold 2-version invariant: VALIDATED->PUBLIC' @@ -164,12 +164,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = PUBLIC - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'CheckConstraint transitions to PUBLIC uphold 2-version invariant: WRITE_ONLY->VALIDATED' @@ -185,12 +185,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'CheckConstraint transitions to TRANSIENT_ABSENT uphold 2-version invariant: ABSENT->WRITE_ONLY' @@ -206,12 +206,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = ABSENT - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'CheckConstraint transitions to TRANSIENT_ABSENT uphold 2-version invariant: PUBLIC->TRANSIENT_VALIDATED' @@ -227,12 +227,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = PUBLIC - $next-Node[CurrentStatus] = TRANSIENT_VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'CheckConstraint transitions to TRANSIENT_ABSENT uphold 2-version invariant: TRANSIENT_VALIDATED->TRANSIENT_ABSENT' @@ -248,12 +248,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_VALIDATED - $next-Node[CurrentStatus] = TRANSIENT_ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - nodeNotExistsWithStatusIn_TRANSIENT_WRITE_ONLY($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -270,12 +270,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY - $next-Node[CurrentStatus] = TRANSIENT_VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'CheckConstraint transitions to TRANSIENT_ABSENT uphold 2-version invariant: VALIDATED->PUBLIC' @@ -291,12 +291,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = PUBLIC - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'CheckConstraint transitions to TRANSIENT_ABSENT uphold 2-version invariant: WRITE_ONLY->VALIDATED' @@ -312,12 +312,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'Column transitions to ABSENT uphold 2-version invariant: DELETE_ONLY->ABSENT' @@ -333,12 +333,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = DELETE_ONLY - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'Column transitions to ABSENT uphold 2-version invariant: PUBLIC->WRITE_ONLY' @@ -354,12 +354,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = PUBLIC - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'Column transitions to ABSENT uphold 2-version invariant: WRITE_ONLY->DELETE_ONLY' @@ -375,12 +375,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'Column transitions to PUBLIC uphold 2-version invariant: ABSENT->DELETE_ONLY' @@ -396,12 +396,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = ABSENT - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'Column transitions to PUBLIC uphold 2-version invariant: DELETE_ONLY->WRITE_ONLY' @@ -417,12 +417,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = DELETE_ONLY - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'Column transitions to PUBLIC uphold 2-version invariant: WRITE_ONLY->PUBLIC' @@ -438,12 +438,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = PUBLIC - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'ColumnNotNull transitions to ABSENT uphold 2-version invariant: PUBLIC->VALIDATED' @@ -459,12 +459,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = PUBLIC - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'ColumnNotNull transitions to ABSENT uphold 2-version invariant: VALIDATED->ABSENT' @@ -480,12 +480,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - nodeNotExistsWithStatusIn_WRITE_ONLY($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -502,12 +502,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'ColumnNotNull transitions to PUBLIC uphold 2-version invariant: ABSENT->WRITE_ONLY' @@ -523,12 +523,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = ABSENT - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'ColumnNotNull transitions to PUBLIC uphold 2-version invariant: VALIDATED->PUBLIC' @@ -544,12 +544,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = PUBLIC - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'ColumnNotNull transitions to PUBLIC uphold 2-version invariant: WRITE_ONLY->VALIDATED' @@ -565,14 +565,72 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) +- name: Computed column expression is dropped before the column it depends on + from: column-expr-Node + kind: Precedence + to: column-Node + query: + - $column-expr[Type] = '*scpb.ColumnComputeExpression' + - $column[Type] = '*scpb.Column' + - joinOnDescID($column-expr, $column, $table-id) + - computedColumnTypeReferencesColumn(*scpb.ColumnComputeExpression, *scpb.Column)($column-expr, $column) + - toAbsent($column-expr-Target, $column-Target) + - $column-expr-Node[CurrentStatus] = ABSENT + - $column-Node[CurrentStatus] = WRITE_ONLY + - joinTargetNode($column-expr, $column-expr-Target, $column-expr-Node) + - joinTargetNode($column, $column-Target, $column-Node) +- name: Computed column expression is dropped before the column it depends on + from: column-expr-Node + kind: Precedence + to: column-Node + query: + - $column-expr[Type] = '*scpb.ColumnComputeExpression' + - $column[Type] = '*scpb.Column' + - joinOnDescID($column-expr, $column, $table-id) + - computedColumnTypeReferencesColumn(*scpb.ColumnComputeExpression, *scpb.Column)($column-expr, $column) + - transient($column-expr-Target, $column-Target) + - $column-expr-Node[CurrentStatus] = TRANSIENT_ABSENT + - $column-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY + - joinTargetNode($column-expr, $column-expr-Target, $column-expr-Node) + - joinTargetNode($column, $column-Target, $column-Node) +- name: Computed column expression is dropped before the column it depends on + from: column-expr-Node + kind: Precedence + to: column-Node + query: + - $column-expr[Type] = '*scpb.ColumnComputeExpression' + - $column[Type] = '*scpb.Column' + - joinOnDescID($column-expr, $column, $table-id) + - computedColumnTypeReferencesColumn(*scpb.ColumnComputeExpression, *scpb.Column)($column-expr, $column) + - $column-expr-Target[TargetStatus] = TRANSIENT_ABSENT + - $column-expr-Node[CurrentStatus] = TRANSIENT_ABSENT + - $column-Target[TargetStatus] = ABSENT + - $column-Node[CurrentStatus] = WRITE_ONLY + - joinTargetNode($column-expr, $column-expr-Target, $column-expr-Node) + - joinTargetNode($column, $column-Target, $column-Node) +- name: Computed column expression is dropped before the column it depends on + from: column-expr-Node + kind: Precedence + to: column-Node + query: + - $column-expr[Type] = '*scpb.ColumnComputeExpression' + - $column[Type] = '*scpb.Column' + - joinOnDescID($column-expr, $column, $table-id) + - computedColumnTypeReferencesColumn(*scpb.ColumnComputeExpression, *scpb.Column)($column-expr, $column) + - $column-expr-Target[TargetStatus] = ABSENT + - $column-expr-Node[CurrentStatus] = ABSENT + - $column-Target[TargetStatus] = TRANSIENT_ABSENT + - $column-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY + - joinTargetNode($column-expr, $column-expr-Target, $column-expr-Node) + - joinTargetNode($column, $column-Target, $column-Node) - name: Constraint should be hidden before name from: constraint-name-Node kind: Precedence @@ -707,12 +765,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = PUBLIC - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'ForeignKeyConstraint transitions to ABSENT uphold 2-version invariant: VALIDATED->ABSENT' @@ -728,12 +786,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - nodeNotExistsWithStatusIn_WRITE_ONLY($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -750,12 +808,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'ForeignKeyConstraint transitions to PUBLIC uphold 2-version invariant: ABSENT->WRITE_ONLY' @@ -771,12 +829,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = ABSENT - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'ForeignKeyConstraint transitions to PUBLIC uphold 2-version invariant: VALIDATED->PUBLIC' @@ -792,12 +850,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = PUBLIC - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'ForeignKeyConstraint transitions to PUBLIC uphold 2-version invariant: WRITE_ONLY->VALIDATED' @@ -813,12 +871,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: New primary index should go public only after columns being dropped move to WRITE_ONLY @@ -849,12 +907,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = BACKFILLED - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: BACKFILL_ONLY->DELETE_ONLY' @@ -870,12 +928,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = BACKFILL_ONLY - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: DELETE_ONLY->ABSENT' @@ -891,12 +949,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = DELETE_ONLY - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - nodeNotExistsWithStatusIn_TRANSIENT_DELETE_ONLY_BACKFILLED_TRANSIENT_BACKFILLED_BACKFILL_ONLY_TRANSIENT_BACKFILL_ONLY($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -913,12 +971,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = MERGED - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: MERGE_ONLY->WRITE_ONLY' @@ -934,12 +992,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = MERGE_ONLY - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: PUBLIC->VALIDATED' @@ -955,12 +1013,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = PUBLIC - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: TRANSIENT_ABSENT->ABSENT' @@ -976,12 +1034,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_ABSENT - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: TRANSIENT_BACKFILLED->DELETE_ONLY' @@ -997,12 +1055,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_BACKFILLED - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: TRANSIENT_BACKFILL_ONLY->DELETE_ONLY' @@ -1018,12 +1076,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_BACKFILL_ONLY - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: TRANSIENT_DELETE_ONLY->DELETE_ONLY' @@ -1039,12 +1097,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: TRANSIENT_MERGED->WRITE_ONLY' @@ -1060,12 +1118,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_MERGED - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: TRANSIENT_MERGE_ONLY->WRITE_ONLY' @@ -1081,12 +1139,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_MERGE_ONLY - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: TRANSIENT_VALIDATED->VALIDATED' @@ -1102,12 +1160,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_VALIDATED - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: TRANSIENT_WRITE_ONLY->WRITE_ONLY' @@ -1123,12 +1181,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to ABSENT uphold 2-version invariant: VALIDATED->WRITE_ONLY' @@ -1144,12 +1202,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - nodeNotExistsWithStatusIn_TRANSIENT_VALIDATED($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -1166,12 +1224,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - nodeNotExistsWithStatusIn_VALIDATED_TRANSIENT_WRITE_ONLY_MERGE_ONLY_TRANSIENT_MERGE_ONLY_MERGED_TRANSIENT_MERGED($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -1188,12 +1246,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = ABSENT - $next-Node[CurrentStatus] = BACKFILL_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to PUBLIC uphold 2-version invariant: BACKFILLED->DELETE_ONLY' @@ -1209,12 +1267,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = BACKFILLED - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to PUBLIC uphold 2-version invariant: BACKFILL_ONLY->BACKFILLED' @@ -1230,12 +1288,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = BACKFILL_ONLY - $next-Node[CurrentStatus] = BACKFILLED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to PUBLIC uphold 2-version invariant: DELETE_ONLY->MERGE_ONLY' @@ -1251,12 +1309,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = DELETE_ONLY - $next-Node[CurrentStatus] = MERGE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to PUBLIC uphold 2-version invariant: MERGED->WRITE_ONLY' @@ -1272,12 +1330,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = MERGED - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to PUBLIC uphold 2-version invariant: MERGE_ONLY->MERGED' @@ -1293,12 +1351,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = MERGE_ONLY - $next-Node[CurrentStatus] = MERGED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to PUBLIC uphold 2-version invariant: VALIDATED->PUBLIC' @@ -1314,12 +1372,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = PUBLIC - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to PUBLIC uphold 2-version invariant: WRITE_ONLY->VALIDATED' @@ -1335,12 +1393,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: ABSENT->BACKFILL_ONLY' @@ -1356,12 +1414,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = ABSENT - $next-Node[CurrentStatus] = BACKFILL_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: BACKFILLED->DELETE_ONLY' @@ -1377,12 +1435,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = BACKFILLED - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: BACKFILL_ONLY->BACKFILLED' @@ -1398,12 +1456,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = BACKFILL_ONLY - $next-Node[CurrentStatus] = BACKFILLED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: DELETE_ONLY->MERGE_ONLY' @@ -1419,12 +1477,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = DELETE_ONLY - $next-Node[CurrentStatus] = MERGE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: MERGED->WRITE_ONLY' @@ -1440,12 +1498,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = MERGED - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: MERGE_ONLY->MERGED' @@ -1461,12 +1519,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = MERGE_ONLY - $next-Node[CurrentStatus] = MERGED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: PUBLIC->TRANSIENT_VALIDATED' @@ -1482,12 +1540,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = PUBLIC - $next-Node[CurrentStatus] = TRANSIENT_VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: TRANSIENT_BACKFILLED->TRANSIENT_DELETE_ONLY' @@ -1503,12 +1561,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_BACKFILLED - $next-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: TRANSIENT_BACKFILL_ONLY->TRANSIENT_DELETE_ONLY' @@ -1524,12 +1582,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_BACKFILL_ONLY - $next-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: TRANSIENT_DELETE_ONLY->TRANSIENT_ABSENT' @@ -1545,12 +1603,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY - $next-Node[CurrentStatus] = TRANSIENT_ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - nodeNotExistsWithStatusIn_TRANSIENT_BACKFILLED_TRANSIENT_BACKFILL_ONLY($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -1567,12 +1625,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_MERGED - $next-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: TRANSIENT_MERGE_ONLY->TRANSIENT_WRITE_ONLY' @@ -1588,12 +1646,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_MERGE_ONLY - $next-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: TRANSIENT_VALIDATED->TRANSIENT_WRITE_ONLY' @@ -1609,12 +1667,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_VALIDATED - $next-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: TRANSIENT_WRITE_ONLY->TRANSIENT_DELETE_ONLY' @@ -1630,12 +1688,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY - $next-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - nodeNotExistsWithStatusIn_TRANSIENT_VALIDATED_TRANSIENT_MERGE_ONLY_TRANSIENT_MERGED($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -1652,12 +1710,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = PUBLIC - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'PrimaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: WRITE_ONLY->VALIDATED' @@ -1673,12 +1731,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to ABSENT uphold 2-version invariant: BACKFILLED->DELETE_ONLY' @@ -1694,12 +1752,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = BACKFILLED - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to ABSENT uphold 2-version invariant: BACKFILL_ONLY->DELETE_ONLY' @@ -1715,12 +1773,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = BACKFILL_ONLY - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to ABSENT uphold 2-version invariant: DELETE_ONLY->ABSENT' @@ -1736,12 +1794,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = DELETE_ONLY - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - nodeNotExistsWithStatusIn_BACKFILLED_BACKFILL_ONLY($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -1758,12 +1816,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = MERGED - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to ABSENT uphold 2-version invariant: MERGE_ONLY->WRITE_ONLY' @@ -1779,12 +1837,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = MERGE_ONLY - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to ABSENT uphold 2-version invariant: PUBLIC->VALIDATED' @@ -1800,12 +1858,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = PUBLIC - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to ABSENT uphold 2-version invariant: VALIDATED->WRITE_ONLY' @@ -1821,12 +1879,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to ABSENT uphold 2-version invariant: WRITE_ONLY->DELETE_ONLY' @@ -1842,12 +1900,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - nodeNotExistsWithStatusIn_VALIDATED_MERGE_ONLY_MERGED($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -1864,12 +1922,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = ABSENT - $next-Node[CurrentStatus] = BACKFILL_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to PUBLIC uphold 2-version invariant: BACKFILLED->DELETE_ONLY' @@ -1885,12 +1943,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = BACKFILLED - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to PUBLIC uphold 2-version invariant: BACKFILL_ONLY->BACKFILLED' @@ -1906,12 +1964,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = BACKFILL_ONLY - $next-Node[CurrentStatus] = BACKFILLED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to PUBLIC uphold 2-version invariant: DELETE_ONLY->MERGE_ONLY' @@ -1927,12 +1985,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = DELETE_ONLY - $next-Node[CurrentStatus] = MERGE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to PUBLIC uphold 2-version invariant: MERGED->WRITE_ONLY' @@ -1948,12 +2006,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = MERGED - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to PUBLIC uphold 2-version invariant: MERGE_ONLY->MERGED' @@ -1969,12 +2027,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = MERGE_ONLY - $next-Node[CurrentStatus] = MERGED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to PUBLIC uphold 2-version invariant: VALIDATED->PUBLIC' @@ -1990,12 +2048,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = PUBLIC - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'SecondaryIndex transitions to PUBLIC uphold 2-version invariant: WRITE_ONLY->VALIDATED' @@ -2011,12 +2069,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'TemporaryIndex transitions to ABSENT uphold 2-version invariant: DELETE_ONLY->ABSENT' @@ -2032,12 +2090,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = DELETE_ONLY - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - nodeNotExistsWithStatusIn_TRANSIENT_DELETE_ONLY($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -2054,12 +2112,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_ABSENT - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'TemporaryIndex transitions to ABSENT uphold 2-version invariant: TRANSIENT_DELETE_ONLY->DELETE_ONLY' @@ -2075,12 +2133,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'TemporaryIndex transitions to ABSENT uphold 2-version invariant: WRITE_ONLY->DELETE_ONLY' @@ -2096,12 +2154,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'TemporaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: ABSENT->DELETE_ONLY' @@ -2117,12 +2175,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = ABSENT - $next-Node[CurrentStatus] = DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'TemporaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: DELETE_ONLY->WRITE_ONLY' @@ -2138,12 +2196,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = DELETE_ONLY - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'TemporaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: TRANSIENT_DELETE_ONLY->TRANSIENT_ABSENT' @@ -2159,12 +2217,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY - $next-Node[CurrentStatus] = TRANSIENT_ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'TemporaryIndex transitions to TRANSIENT_ABSENT uphold 2-version invariant: WRITE_ONLY->TRANSIENT_DELETE_ONLY' @@ -2180,12 +2238,12 @@ deprules - $prev-Target[TargetStatus] = TRANSIENT_ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'UniqueWithoutIndexConstraint transitions to ABSENT uphold 2-version invariant: PUBLIC->VALIDATED' @@ -2201,12 +2259,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = PUBLIC - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'UniqueWithoutIndexConstraint transitions to ABSENT uphold 2-version invariant: VALIDATED->ABSENT' @@ -2222,12 +2280,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = ABSENT - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - nodeNotExistsWithStatusIn_WRITE_ONLY($prev-Target) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) @@ -2244,12 +2302,12 @@ deprules - $prev-Target[TargetStatus] = ABSENT - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'UniqueWithoutIndexConstraint transitions to PUBLIC uphold 2-version invariant: ABSENT->WRITE_ONLY' @@ -2265,12 +2323,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = ABSENT - $next-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'UniqueWithoutIndexConstraint transitions to PUBLIC uphold 2-version invariant: VALIDATED->PUBLIC' @@ -2286,12 +2344,12 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = VALIDATED - $next-Node[CurrentStatus] = PUBLIC - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) - name: 'UniqueWithoutIndexConstraint transitions to PUBLIC uphold 2-version invariant: WRITE_ONLY->VALIDATED' @@ -2307,72 +2365,14 @@ deprules - $prev-Target[TargetStatus] = PUBLIC - $prev-Node[CurrentStatus] = WRITE_ONLY - $next-Node[CurrentStatus] = VALIDATED - - descriptorIsNotBeingDropped-24.2($prev) + - descriptorIsNotBeingDropped-24.3($prev) - $descriptor-data[Type] = '*scpb.TableData' - joinTargetNode($descriptor-data, $descriptor-data-Target, $descriptor-data-Node) - $descriptor-data-Node[CurrentStatus] = PUBLIC - $descriptor-data[DescID] = $descID - - descriptorIsDataNotBeingAdded-24.2($descID) + - descriptorIsDataNotBeingAdded-24.3($descID) - joinTargetNode($prev, $prev-Target, $prev-Node) - joinTargetNode($next, $next-Target, $next-Node) -- name: Virtual computed column expression is dropped before the column it depends on - from: virtual-column-expr-Node - kind: Precedence - to: column-Node - query: - - $virtual-column-expr[Type] = '*scpb.ColumnType' - - $column[Type] = '*scpb.Column' - - joinOnDescID($virtual-column-expr, $column, $table-id) - - computedColumnTypeReferencesColumn(*scpb.ColumnType, *scpb.Column)($virtual-column-expr, $column) - - toAbsent($virtual-column-expr-Target, $column-Target) - - $virtual-column-expr-Node[CurrentStatus] = ABSENT - - $column-Node[CurrentStatus] = WRITE_ONLY - - joinTargetNode($virtual-column-expr, $virtual-column-expr-Target, $virtual-column-expr-Node) - - joinTargetNode($column, $column-Target, $column-Node) -- name: Virtual computed column expression is dropped before the column it depends on - from: virtual-column-expr-Node - kind: Precedence - to: column-Node - query: - - $virtual-column-expr[Type] = '*scpb.ColumnType' - - $column[Type] = '*scpb.Column' - - joinOnDescID($virtual-column-expr, $column, $table-id) - - computedColumnTypeReferencesColumn(*scpb.ColumnType, *scpb.Column)($virtual-column-expr, $column) - - transient($virtual-column-expr-Target, $column-Target) - - $virtual-column-expr-Node[CurrentStatus] = TRANSIENT_ABSENT - - $column-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY - - joinTargetNode($virtual-column-expr, $virtual-column-expr-Target, $virtual-column-expr-Node) - - joinTargetNode($column, $column-Target, $column-Node) -- name: Virtual computed column expression is dropped before the column it depends on - from: virtual-column-expr-Node - kind: Precedence - to: column-Node - query: - - $virtual-column-expr[Type] = '*scpb.ColumnType' - - $column[Type] = '*scpb.Column' - - joinOnDescID($virtual-column-expr, $column, $table-id) - - computedColumnTypeReferencesColumn(*scpb.ColumnType, *scpb.Column)($virtual-column-expr, $column) - - $virtual-column-expr-Target[TargetStatus] = TRANSIENT_ABSENT - - $virtual-column-expr-Node[CurrentStatus] = TRANSIENT_ABSENT - - $column-Target[TargetStatus] = ABSENT - - $column-Node[CurrentStatus] = WRITE_ONLY - - joinTargetNode($virtual-column-expr, $virtual-column-expr-Target, $virtual-column-expr-Node) - - joinTargetNode($column, $column-Target, $column-Node) -- name: Virtual computed column expression is dropped before the column it depends on - from: virtual-column-expr-Node - kind: Precedence - to: column-Node - query: - - $virtual-column-expr[Type] = '*scpb.ColumnType' - - $column[Type] = '*scpb.Column' - - joinOnDescID($virtual-column-expr, $column, $table-id) - - computedColumnTypeReferencesColumn(*scpb.ColumnType, *scpb.Column)($virtual-column-expr, $column) - - $virtual-column-expr-Target[TargetStatus] = ABSENT - - $virtual-column-expr-Node[CurrentStatus] = ABSENT - - $column-Target[TargetStatus] = TRANSIENT_ABSENT - - $column-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY - - joinTargetNode($virtual-column-expr, $virtual-column-expr-Target, $virtual-column-expr-Node) - - joinTargetNode($column, $column-Target, $column-Node) - name: all adding indexes reached BACKFILL_ONLY before any of their columns disappear from: index-Node kind: Precedence @@ -2460,7 +2460,7 @@ deprules kind: Precedence to: column-Node query: - - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] + - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] - $column[Type] = '*scpb.Column' - joinOnColumnID($dependent, $column, $table-id, $col-id) - ToPublicOrTransient($dependent-Target, $column-Target) @@ -2474,7 +2474,7 @@ deprules to: dependent-Node query: - $column[Type] = '*scpb.Column' - - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] + - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] - joinOnColumnID($column, $dependent, $table-id, $col-id) - ToPublicOrTransient($column-Target, $dependent-Target) - $column-Node[CurrentStatus] = DELETE_ONLY @@ -2542,7 +2542,7 @@ deprules to: dependent-Node query: - $column[Type] = '*scpb.Column' - - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] + - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] - joinOnColumnID($column, $dependent, $table-id, $col-id) - toAbsent($column-Target, $dependent-Target) - $column-Node[CurrentStatus] = WRITE_ONLY @@ -2555,7 +2555,7 @@ deprules to: dependent-Node query: - $column[Type] = '*scpb.Column' - - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] + - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] - joinOnColumnID($column, $dependent, $table-id, $col-id) - transient($column-Target, $dependent-Target) - $column-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY @@ -2568,7 +2568,7 @@ deprules to: dependent-Node query: - $column[Type] = '*scpb.Column' - - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] + - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] - joinOnColumnID($column, $dependent, $table-id, $col-id) - $column-Target[TargetStatus] = TRANSIENT_ABSENT - $column-Node[CurrentStatus] = TRANSIENT_WRITE_ONLY @@ -2582,7 +2582,7 @@ deprules to: dependent-Node query: - $column[Type] = '*scpb.Column' - - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] + - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] - joinOnColumnID($column, $dependent, $table-id, $col-id) - $column-Target[TargetStatus] = ABSENT - $column-Node[CurrentStatus] = WRITE_ONLY @@ -2610,7 +2610,7 @@ deprules kind: SameStagePrecedence to: column-type-Node query: - - $dependent[Type] IN ['*scpb.ColumnDefaultExpression', '*scpb.ColumnOnUpdateExpression', '*scpb.SequenceOwner'] + - $dependent[Type] IN ['*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnOnUpdateExpression', '*scpb.SequenceOwner'] - $column-type[Type] = '*scpb.ColumnType' - joinOnColumnID($dependent, $column-type, $table-id, $col-id) - toAbsent($dependent-Target, $column-type-Target) @@ -2653,7 +2653,7 @@ deprules to: column-Node query: - $column-type[Type] = '*scpb.ColumnType' - - descriptorIsNotBeingDropped-24.2($column-type) + - descriptorIsNotBeingDropped-24.3($column-type) - $column[Type] = '*scpb.Column' - joinOnColumnID($column-type, $column, $table-id, $col-id) - toAbsent($column-type-Target, $column-Target) @@ -2894,7 +2894,7 @@ deprules kind: Precedence to: relation-Node query: - - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - $relation[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - joinOnDescID($dependent, $relation, $relation-id) - ToPublicOrTransient($dependent-Target, $relation-Target) @@ -2907,7 +2907,7 @@ deprules kind: Precedence to: column-Node query: - - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] + - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] - $column[Type] = '*scpb.Column' - joinOnColumnID($dependent, $column, $table-id, $col-id) - toAbsent($dependent-Target, $column-Target) @@ -2920,7 +2920,7 @@ deprules kind: Precedence to: column-Node query: - - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] + - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] - $column[Type] = '*scpb.Column' - joinOnColumnID($dependent, $column, $table-id, $col-id) - transient($dependent-Target, $column-Target) @@ -2933,7 +2933,7 @@ deprules kind: Precedence to: column-Node query: - - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] + - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] - $column[Type] = '*scpb.Column' - joinOnColumnID($dependent, $column, $table-id, $col-id) - $dependent-Target[TargetStatus] = TRANSIENT_ABSENT @@ -2947,7 +2947,7 @@ deprules kind: Precedence to: column-Node query: - - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] + - $dependent[Type] IN ['*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.IndexColumn', '*scpb.SequenceOwner'] - $column[Type] = '*scpb.Column' - joinOnColumnID($dependent, $column, $table-id, $col-id) - $dependent-Target[TargetStatus] = ABSENT @@ -3015,7 +3015,7 @@ deprules kind: Precedence to: index-Node query: - - $dependent[Type] IN ['*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.SecondaryIndexPartial'] + - $dependent[Type] IN ['*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.PartitionZoneConfig', '*scpb.SecondaryIndexPartial'] - $index[Type] IN ['*scpb.PrimaryIndex', '*scpb.SecondaryIndex', '*scpb.TemporaryIndex'] - joinOnIndexID($dependent, $index, $table-id, $index-id) - toAbsent($dependent-Target, $index-Target) @@ -3028,7 +3028,7 @@ deprules kind: Precedence to: index-Node query: - - $dependent[Type] IN ['*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.SecondaryIndexPartial'] + - $dependent[Type] IN ['*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.PartitionZoneConfig', '*scpb.SecondaryIndexPartial'] - $index[Type] IN ['*scpb.PrimaryIndex', '*scpb.SecondaryIndex', '*scpb.TemporaryIndex'] - joinOnIndexID($dependent, $index, $table-id, $index-id) - transient($dependent-Target, $index-Target) @@ -3041,7 +3041,7 @@ deprules kind: Precedence to: index-Node query: - - $dependent[Type] IN ['*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.SecondaryIndexPartial'] + - $dependent[Type] IN ['*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.PartitionZoneConfig', '*scpb.SecondaryIndexPartial'] - $index[Type] IN ['*scpb.PrimaryIndex', '*scpb.SecondaryIndex', '*scpb.TemporaryIndex'] - joinOnIndexID($dependent, $index, $table-id, $index-id) - $dependent-Target[TargetStatus] = TRANSIENT_ABSENT @@ -3055,7 +3055,7 @@ deprules kind: Precedence to: index-Node query: - - $dependent[Type] IN ['*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.SecondaryIndexPartial'] + - $dependent[Type] IN ['*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.PartitionZoneConfig', '*scpb.SecondaryIndexPartial'] - $index[Type] IN ['*scpb.PrimaryIndex', '*scpb.SecondaryIndex', '*scpb.TemporaryIndex'] - joinOnIndexID($dependent, $index, $table-id, $index-id) - $dependent-Target[TargetStatus] = ABSENT @@ -3138,7 +3138,7 @@ deprules to: referencing-via-attr-Node query: - $referenced-descriptor[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - - $referencing-via-attr[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.RowLevelTTL', '*scpb.SchemaComment', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $referencing-via-attr[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.RowLevelTTL', '*scpb.SchemaComment', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - joinReferencedDescID($referencing-via-attr, $referenced-descriptor, $desc-id) - toAbsent($referenced-descriptor-Target, $referencing-via-attr-Target) - $referenced-descriptor-Node[CurrentStatus] = DROPPED @@ -3153,7 +3153,7 @@ deprules - $referenced-descriptor[Type] = '*scpb.Sequence' - $referenced-descriptor[DescID] = $seqID - $referencing-via-expr[ReferencedSequenceIDs] CONTAINS $seqID - - $referencing-via-expr[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnDefaultExpression', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.SecondaryIndexPartial'] + - $referencing-via-expr[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.SecondaryIndexPartial'] - toAbsent($referenced-descriptor-Target, $referencing-via-expr-Target) - $referenced-descriptor-Node[CurrentStatus] = DROPPED - $referencing-via-expr-Node[CurrentStatus] = ABSENT @@ -3167,7 +3167,7 @@ deprules - $referenced-descriptor[Type] = '*scpb.Function' - $referenced-descriptor[DescID] = $fromDescID - $referencing-via-function[ReferencedFunctionIDs] CONTAINS $fromDescID - - $referencing-via-function[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnDefaultExpression', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.SecondaryIndexPartial'] + - $referencing-via-function[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.SecondaryIndexPartial'] - toAbsent($referenced-descriptor-Target, $referencing-via-function-Target) - $referenced-descriptor-Node[CurrentStatus] = DROPPED - $referencing-via-function-Node[CurrentStatus] = ABSENT @@ -3181,8 +3181,8 @@ deprules - $referenced-descriptor[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.EnumType'] - $referenced-descriptor[DescID] = $fromDescID - $referencing-via-type[ReferencedTypeIDs] CONTAINS $fromDescID - - descriptorIsNotBeingDropped-24.2($referencing-via-type) - - $referencing-via-type[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnDefaultExpression', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.SecondaryIndexPartial'] + - descriptorIsNotBeingDropped-24.3($referencing-via-type) + - $referencing-via-type[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.SecondaryIndexPartial'] - toAbsent($referenced-descriptor-Target, $referencing-via-type-Target) - $referenced-descriptor-Node[CurrentStatus] = DROPPED - $referencing-via-type-Node[CurrentStatus] = ABSENT @@ -3194,7 +3194,7 @@ deprules to: dependent-Node query: - $descriptor[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - - $dependent[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - joinOnDescID($descriptor, $dependent, $desc-id) - toAbsent($descriptor-Target, $dependent-Target) - $descriptor-Node[CurrentStatus] = DROPPED @@ -3233,7 +3233,7 @@ deprules to: dependent-Node query: - $relation[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseData', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexData', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableData', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseData', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexData', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableData', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - joinOnDescID($relation, $dependent, $relation-id) - ToPublicOrTransient($relation-Target, $dependent-Target) - $relation-Node[CurrentStatus] = DESCRIPTOR_ADDED @@ -3300,7 +3300,7 @@ deprules kind: Precedence to: index-Node query: - - $dependent[Type] IN ['*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.SecondaryIndexPartial'] + - $dependent[Type] IN ['*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.PartitionZoneConfig', '*scpb.SecondaryIndexPartial'] - $index[Type] IN ['*scpb.PrimaryIndex', '*scpb.SecondaryIndex', '*scpb.TemporaryIndex'] - joinOnIndexID($dependent, $index, $table-id, $index-id) - ToPublicOrTransient($dependent-Target, $index-Target) @@ -3368,7 +3368,7 @@ deprules to: dependent-Node query: - $index[Type] IN ['*scpb.PrimaryIndex', '*scpb.SecondaryIndex'] - - $dependent[Type] IN ['*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.SecondaryIndexPartial'] + - $dependent[Type] IN ['*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.PartitionZoneConfig', '*scpb.SecondaryIndexPartial'] - joinOnIndexID($index, $dependent, $table-id, $index-id) - ToPublicOrTransient($index-Target, $dependent-Target) - $index-Node[CurrentStatus] = BACKFILL_ONLY @@ -3412,7 +3412,7 @@ deprules to: dependent-Node query: - $index[Type] IN ['*scpb.PrimaryIndex', '*scpb.SecondaryIndex', '*scpb.TemporaryIndex'] - - $dependent[Type] IN ['*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.SecondaryIndexPartial'] + - $dependent[Type] IN ['*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.PartitionZoneConfig', '*scpb.SecondaryIndexPartial'] - joinOnIndexID($index, $dependent, $table-id, $index-id) - toAbsent($index-Target, $dependent-Target) - $index-Node[CurrentStatus] = VALIDATED @@ -3425,7 +3425,7 @@ deprules to: dependent-Node query: - $index[Type] IN ['*scpb.PrimaryIndex', '*scpb.SecondaryIndex', '*scpb.TemporaryIndex'] - - $dependent[Type] IN ['*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.SecondaryIndexPartial'] + - $dependent[Type] IN ['*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.PartitionZoneConfig', '*scpb.SecondaryIndexPartial'] - joinOnIndexID($index, $dependent, $table-id, $index-id) - transient($index-Target, $dependent-Target) - $index-Node[CurrentStatus] = TRANSIENT_VALIDATED @@ -3438,7 +3438,7 @@ deprules to: dependent-Node query: - $index[Type] IN ['*scpb.PrimaryIndex', '*scpb.SecondaryIndex', '*scpb.TemporaryIndex'] - - $dependent[Type] IN ['*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.SecondaryIndexPartial'] + - $dependent[Type] IN ['*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.PartitionZoneConfig', '*scpb.SecondaryIndexPartial'] - joinOnIndexID($index, $dependent, $table-id, $index-id) - $index-Target[TargetStatus] = TRANSIENT_ABSENT - $index-Node[CurrentStatus] = TRANSIENT_VALIDATED @@ -3452,7 +3452,7 @@ deprules to: dependent-Node query: - $index[Type] IN ['*scpb.PrimaryIndex', '*scpb.SecondaryIndex', '*scpb.TemporaryIndex'] - - $dependent[Type] IN ['*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.SecondaryIndexPartial'] + - $dependent[Type] IN ['*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.PartitionZoneConfig', '*scpb.SecondaryIndexPartial'] - joinOnIndexID($index, $dependent, $table-id, $index-id) - $index-Target[TargetStatus] = ABSENT - $index-Node[CurrentStatus] = VALIDATED @@ -3603,7 +3603,7 @@ deprules - $column[Type] = '*scpb.Column' - ColumnInIndex($index-column, $index, $table-id, $column-id, $index-id) - joinOnColumnID($index-column, $column, $table-id, $column-id) - - descriptorIsNotBeingDropped-24.2($index-column) + - descriptorIsNotBeingDropped-24.3($index-column) - toAbsent($index-Target, $column-Target) - $index-Node[CurrentStatus] = ABSENT - $column-Node[CurrentStatus] = ABSENT @@ -3618,7 +3618,7 @@ deprules - $column[Type] = '*scpb.Column' - ColumnInIndex($index-column, $index, $table-id, $column-id, $index-id) - joinOnColumnID($index-column, $column, $table-id, $column-id) - - descriptorIsNotBeingDropped-24.2($index-column) + - descriptorIsNotBeingDropped-24.3($index-column) - transient($index-Target, $column-Target) - $index-Node[CurrentStatus] = TRANSIENT_ABSENT - $column-Node[CurrentStatus] = TRANSIENT_ABSENT @@ -3633,7 +3633,7 @@ deprules - $column[Type] = '*scpb.Column' - ColumnInIndex($index-column, $index, $table-id, $column-id, $index-id) - joinOnColumnID($index-column, $column, $table-id, $column-id) - - descriptorIsNotBeingDropped-24.2($index-column) + - descriptorIsNotBeingDropped-24.3($index-column) - $index-Target[TargetStatus] = TRANSIENT_ABSENT - $index-Node[CurrentStatus] = TRANSIENT_ABSENT - $column-Target[TargetStatus] = ABSENT @@ -3649,7 +3649,7 @@ deprules - $column[Type] = '*scpb.Column' - ColumnInIndex($index-column, $index, $table-id, $column-id, $index-id) - joinOnColumnID($index-column, $column, $table-id, $column-id) - - descriptorIsNotBeingDropped-24.2($index-column) + - descriptorIsNotBeingDropped-24.3($index-column) - $index-Target[TargetStatus] = ABSENT - $index-Node[CurrentStatus] = ABSENT - $column-Target[TargetStatus] = TRANSIENT_ABSENT @@ -3674,7 +3674,7 @@ deprules kind: Precedence to: descriptor-Node query: - - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - $descriptor[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - joinOnDescID($dependent, $descriptor, $desc-id) - toAbsent($dependent-Target, $descriptor-Target) @@ -3708,7 +3708,7 @@ deprules to: index-Node query: - $partial-predicate[Type] = '*scpb.SecondaryIndexPartial' - - descriptorIsNotBeingDropped-24.2($partial-predicate) + - descriptorIsNotBeingDropped-24.3($partial-predicate) - $index[Type] = '*scpb.SecondaryIndex' - joinOnIndexID($partial-predicate, $index, $table-id, $index-id) - toAbsent($partial-predicate-Target, $index-Target) @@ -3722,7 +3722,7 @@ deprules to: index-Node query: - $partial-predicate[Type] = '*scpb.SecondaryIndexPartial' - - descriptorIsNotBeingDropped-24.2($partial-predicate) + - descriptorIsNotBeingDropped-24.3($partial-predicate) - $index[Type] = '*scpb.SecondaryIndex' - joinOnIndexID($partial-predicate, $index, $table-id, $index-id) - transient($partial-predicate-Target, $index-Target) @@ -3736,7 +3736,7 @@ deprules to: index-Node query: - $partial-predicate[Type] = '*scpb.SecondaryIndexPartial' - - descriptorIsNotBeingDropped-24.2($partial-predicate) + - descriptorIsNotBeingDropped-24.3($partial-predicate) - $index[Type] = '*scpb.SecondaryIndex' - joinOnIndexID($partial-predicate, $index, $table-id, $index-id) - $partial-predicate-Target[TargetStatus] = TRANSIENT_ABSENT @@ -3751,7 +3751,7 @@ deprules to: index-Node query: - $partial-predicate[Type] = '*scpb.SecondaryIndexPartial' - - descriptorIsNotBeingDropped-24.2($partial-predicate) + - descriptorIsNotBeingDropped-24.3($partial-predicate) - $index[Type] = '*scpb.SecondaryIndex' - joinOnIndexID($partial-predicate, $index, $table-id, $index-id) - $partial-predicate-Target[TargetStatus] = ABSENT @@ -4066,7 +4066,7 @@ deprules - $secondary-partial-index[Type] = '*scpb.SecondaryIndex' - $column[Type] = '*scpb.Column' - joinOnDescID($secondary-partial-index, $column, $table-id) - - descriptorIsNotBeingDropped-24.2($secondary-partial-index) + - descriptorIsNotBeingDropped-24.3($secondary-partial-index) - secondaryIndexReferencesColumn(*scpb.SecondaryIndex, *scpb.Column)($secondary-partial-index, $column) - toAbsent($secondary-partial-index-Target, $column-Target) - $secondary-partial-index-Node[CurrentStatus] = DELETE_ONLY @@ -4081,7 +4081,7 @@ deprules - $secondary-partial-index[Type] = '*scpb.SecondaryIndex' - $column[Type] = '*scpb.Column' - joinOnDescID($secondary-partial-index, $column, $table-id) - - descriptorIsNotBeingDropped-24.2($secondary-partial-index) + - descriptorIsNotBeingDropped-24.3($secondary-partial-index) - secondaryIndexReferencesColumn(*scpb.SecondaryIndex, *scpb.Column)($secondary-partial-index, $column) - transient($secondary-partial-index-Target, $column-Target) - $secondary-partial-index-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY @@ -4096,7 +4096,7 @@ deprules - $secondary-partial-index[Type] = '*scpb.SecondaryIndex' - $column[Type] = '*scpb.Column' - joinOnDescID($secondary-partial-index, $column, $table-id) - - descriptorIsNotBeingDropped-24.2($secondary-partial-index) + - descriptorIsNotBeingDropped-24.3($secondary-partial-index) - secondaryIndexReferencesColumn(*scpb.SecondaryIndex, *scpb.Column)($secondary-partial-index, $column) - $secondary-partial-index-Target[TargetStatus] = TRANSIENT_ABSENT - $secondary-partial-index-Node[CurrentStatus] = TRANSIENT_DELETE_ONLY @@ -4112,7 +4112,7 @@ deprules - $secondary-partial-index[Type] = '*scpb.SecondaryIndex' - $column[Type] = '*scpb.Column' - joinOnDescID($secondary-partial-index, $column, $table-id) - - descriptorIsNotBeingDropped-24.2($secondary-partial-index) + - descriptorIsNotBeingDropped-24.3($secondary-partial-index) - secondaryIndexReferencesColumn(*scpb.SecondaryIndex, *scpb.Column)($secondary-partial-index, $column) - $secondary-partial-index-Target[TargetStatus] = ABSENT - $secondary-partial-index-Node[CurrentStatus] = DELETE_ONLY @@ -4128,7 +4128,7 @@ deprules - $secondary-partial-index[Type] = '*scpb.SecondaryIndexPartial' - $column[Type] = '*scpb.Column' - joinOnDescID($secondary-partial-index, $column, $table-id) - - descriptorIsNotBeingDropped-24.2($secondary-partial-index) + - descriptorIsNotBeingDropped-24.3($secondary-partial-index) - secondaryIndexReferencesColumn(*scpb.SecondaryIndexPartial, *scpb.Column)($secondary-partial-index, $column) - toAbsent($secondary-partial-index-Target, $column-Target) - $secondary-partial-index-Node[CurrentStatus] = ABSENT @@ -4143,7 +4143,7 @@ deprules - $secondary-partial-index[Type] = '*scpb.SecondaryIndexPartial' - $column[Type] = '*scpb.Column' - joinOnDescID($secondary-partial-index, $column, $table-id) - - descriptorIsNotBeingDropped-24.2($secondary-partial-index) + - descriptorIsNotBeingDropped-24.3($secondary-partial-index) - secondaryIndexReferencesColumn(*scpb.SecondaryIndexPartial, *scpb.Column)($secondary-partial-index, $column) - transient($secondary-partial-index-Target, $column-Target) - $secondary-partial-index-Node[CurrentStatus] = TRANSIENT_ABSENT @@ -4158,7 +4158,7 @@ deprules - $secondary-partial-index[Type] = '*scpb.SecondaryIndexPartial' - $column[Type] = '*scpb.Column' - joinOnDescID($secondary-partial-index, $column, $table-id) - - descriptorIsNotBeingDropped-24.2($secondary-partial-index) + - descriptorIsNotBeingDropped-24.3($secondary-partial-index) - secondaryIndexReferencesColumn(*scpb.SecondaryIndexPartial, *scpb.Column)($secondary-partial-index, $column) - $secondary-partial-index-Target[TargetStatus] = TRANSIENT_ABSENT - $secondary-partial-index-Node[CurrentStatus] = TRANSIENT_ABSENT @@ -4174,7 +4174,7 @@ deprules - $secondary-partial-index[Type] = '*scpb.SecondaryIndexPartial' - $column[Type] = '*scpb.Column' - joinOnDescID($secondary-partial-index, $column, $table-id) - - descriptorIsNotBeingDropped-24.2($secondary-partial-index) + - descriptorIsNotBeingDropped-24.3($secondary-partial-index) - secondaryIndexReferencesColumn(*scpb.SecondaryIndexPartial, *scpb.Column)($secondary-partial-index, $column) - $secondary-partial-index-Target[TargetStatus] = ABSENT - $secondary-partial-index-Node[CurrentStatus] = ABSENT @@ -4248,7 +4248,7 @@ deprules - toAbsent($index-Target, $column-Target) - $index-Node[CurrentStatus] = VALIDATED - $column-Node[CurrentStatus] = WRITE_ONLY - - descriptorIsNotBeingDropped-24.2($index-column) + - descriptorIsNotBeingDropped-24.3($index-column) - isIndexKeyColumnKey(*scpb.IndexColumn)($index-column) - joinTargetNode($index, $index-Target, $index-Node) - joinTargetNode($column, $column-Target, $column-Node) @@ -4353,7 +4353,7 @@ deprules to: dependent-Node query: - $index[Type] = '*scpb.TemporaryIndex' - - $dependent[Type] IN ['*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.SecondaryIndexPartial'] + - $dependent[Type] IN ['*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.PartitionZoneConfig', '*scpb.SecondaryIndexPartial'] - joinOnIndexID($index, $dependent, $table-id, $index-id) - ToPublicOrTransient($index-Target, $dependent-Target) - $index-Node[CurrentStatus] = DELETE_ONLY @@ -4376,3 +4376,70 @@ deprules - $index-Node[CurrentStatus] = BACKFILLED - joinTargetNode($temp, $temp-Target, $temp-Node) - joinTargetNode($index, $index-Target, $index-Node) +- name: trigger public before its dependents + from: trigger-Node + kind: Precedence + to: dependent-Node + query: + - $trigger[Type] = '*scpb.Trigger' + - $dependent[Type] IN ['*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen'] + - joinOnTriggerID($trigger, $dependent, $table-id, $trigger-id) + - ToPublicOrTransient($trigger-Target, $dependent-Target) + - $trigger-Node[CurrentStatus] = PUBLIC + - $dependent-Node[CurrentStatus] = PUBLIC + - joinTargetNode($trigger, $trigger-Target, $trigger-Node) + - joinTargetNode($dependent, $dependent-Target, $dependent-Node) +- name: trigger removed before dependents + from: trigger-Node + kind: Precedence + to: dependents-Node + query: + - $dependents[Type] = '*scpb.Trigger' + - $trigger[Type] IN ['*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen'] + - joinOnTriggerID($trigger, $dependents, $table-id, $trigger-id) + - toAbsent($trigger-Target, $dependents-Target) + - $trigger-Node[CurrentStatus] = ABSENT + - $dependents-Node[CurrentStatus] = PUBLIC + - joinTargetNode($trigger, $trigger-Target, $trigger-Node) + - joinTargetNode($dependents, $dependents-Target, $dependents-Node) +- name: trigger removed before dependents + from: trigger-Node + kind: Precedence + to: dependents-Node + query: + - $dependents[Type] = '*scpb.Trigger' + - $trigger[Type] IN ['*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen'] + - joinOnTriggerID($trigger, $dependents, $table-id, $trigger-id) + - transient($trigger-Target, $dependents-Target) + - $trigger-Node[CurrentStatus] = TRANSIENT_ABSENT + - $dependents-Node[CurrentStatus] = TRANSIENT_PUBLIC + - joinTargetNode($trigger, $trigger-Target, $trigger-Node) + - joinTargetNode($dependents, $dependents-Target, $dependents-Node) +- name: trigger removed before dependents + from: trigger-Node + kind: Precedence + to: dependents-Node + query: + - $dependents[Type] = '*scpb.Trigger' + - $trigger[Type] IN ['*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen'] + - joinOnTriggerID($trigger, $dependents, $table-id, $trigger-id) + - $trigger-Target[TargetStatus] = TRANSIENT_ABSENT + - $trigger-Node[CurrentStatus] = TRANSIENT_ABSENT + - $dependents-Target[TargetStatus] = ABSENT + - $dependents-Node[CurrentStatus] = PUBLIC + - joinTargetNode($trigger, $trigger-Target, $trigger-Node) + - joinTargetNode($dependents, $dependents-Target, $dependents-Node) +- name: trigger removed before dependents + from: trigger-Node + kind: Precedence + to: dependents-Node + query: + - $dependents[Type] = '*scpb.Trigger' + - $trigger[Type] IN ['*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen'] + - joinOnTriggerID($trigger, $dependents, $table-id, $trigger-id) + - $trigger-Target[TargetStatus] = ABSENT + - $trigger-Node[CurrentStatus] = ABSENT + - $dependents-Target[TargetStatus] = TRANSIENT_ABSENT + - $dependents-Node[CurrentStatus] = TRANSIENT_PUBLIC + - joinTargetNode($trigger, $trigger-Target, $trigger-Node) + - joinTargetNode($dependents, $dependents-Target, $dependents-Node) diff --git a/pkg/cli/testdata/declarative-rules/invalid_version b/pkg/cli/testdata/declarative-rules/invalid_version index 136265bf1493..afc5f161cafe 100644 --- a/pkg/cli/testdata/declarative-rules/invalid_version +++ b/pkg/cli/testdata/declarative-rules/invalid_version @@ -4,6 +4,6 @@ invalid_version debug declarative-print-rules 1.1 op unsupported version number, the supported versions are: latest - latest + 1000024.3 1000024.2 1000024.1 diff --git a/pkg/clusterversion/README.md b/pkg/clusterversion/README.md index 48a0e0508cf3..e6340fda07f5 100644 --- a/pkg/clusterversion/README.md +++ b/pkg/clusterversion/README.md @@ -183,7 +183,10 @@ avoid large changes on `master` which might cause merge conflicts for backports. - [ ] Update `PreviousRelease` constant -- [ ] Add start version (e.g. `V24.2Start` with version `24.1-2`) +- [ ] Add start version (e.g. `V24.2Start` with version `24.1-2`) and add a new + first upgrade for it (in `upgrades/upgrades.go`). + +- [ ] Update `roachpb.successorSeries` map and update `TestReleaseSeriesSuccessor` - [ ] Update `pkg/build/version.txt` to the new version (e.g. `v24.2.0-alpha.00000000`) @@ -208,13 +211,11 @@ avoid large changes on `master` which might cause merge conflicts for backports. no longer have that code around. The data is obtained from the release branch (e.g. `release-24.1`) using the `sql-bootstrap-data` utility: ``` - ./dev build sql-bootstrap-data - ./bin/sql-bootstrap-data + ./dev build sql-bootstrap-data && bin/sql-bootstrap-data ``` - This will create a pair of files that need to be copied to + This will create a set of files that need to be copied to `pkg/sql/catalog/bootstrap/data` on the `master` branch; it will also output - what code modifications need to be performed. Note that the BUILD.bazel will -- also need to be modified to include the new embedded files under `embedsrcs`. + what code modifications need to be performed. - [ ] Update releases file: ``` diff --git a/pkg/clusterversion/cockroach_versions.go b/pkg/clusterversion/cockroach_versions.go index 5ed0820cc90b..8e0fc09598dd 100644 --- a/pkg/clusterversion/cockroach_versions.go +++ b/pkg/clusterversion/cockroach_versions.go @@ -255,6 +255,11 @@ const ( // to the system.table_metadata table V24_3_AddTableMetadataCols + // V24_3 is CockroachDB v24.3. It's used for all v24.3.x patch releases. + V24_3 + + V25_1_Start + // ************************************************* // Step (1) Add new versions above this comment. // Do not add new versions to a patch release. @@ -314,6 +319,11 @@ var versionTable = [numKeys]roachpb.Version{ V24_3_UseRACV2Full: {Major: 24, Minor: 2, Internal: 20}, V24_3_AddTableMetadataCols: {Major: 24, Minor: 2, Internal: 22}, + V24_3: {Major: 24, Minor: 3, Internal: 0}, + + // v25.1 versions. Internal versions must be even. + V25_1_Start: {Major: 24, Minor: 3, Internal: 2}, + // ************************************************* // Step (2): Add new versions above this comment. // Do not add new versions to a patch release. @@ -327,19 +337,17 @@ const Latest Key = numKeys - 1 // MinSupported is the minimum logical cluster version supported by this branch. const MinSupported Key = V24_2 -// PreviousRelease is the logical cluster version of the previous release. -// -// Note: this is always the last element of SupportedPreviousReleases(); it is -// also provided as a constant for convenience. +// PreviousRelease is the logical cluster version of the previous release (which must +// have at least an RC build published). const PreviousRelease Key = V24_2 -// V24_3 is a placeholder that will eventually be replaced by the actual 24.3 +// V25_1 is a placeholder that will eventually be replaced by the actual 25.1 // version Key, but in the meantime it points to the latest Key. The placeholder // is defined so that it can be referenced in code that simply wants to check if // a cluster is running 24.3 and has completed all associated migrations; most // version gates can use this instead of defining their own version key if they -// only need to check that the cluster has upgraded to 24.3. -const V24_3 = Latest +// only need to check that the cluster has upgraded to 25.1. +const V25_1 = Latest // DevelopmentBranch must be true on the main development branch but should be // set to false on a release branch once the set of versions becomes append-only @@ -398,7 +406,7 @@ func (k Key) String() string { // cluster). func SupportedPreviousReleases() []Key { res := make([]Key, 0, 2) - for k := MinSupported; k < Latest; k++ { + for k := MinSupported; k <= PreviousRelease; k++ { if k.IsFinal() { res = append(res, k) } diff --git a/pkg/cmd/release/update_releases.go b/pkg/cmd/release/update_releases.go index 720e5637d8e8..cfcbbc7e46b6 100644 --- a/pkg/cmd/release/update_releases.go +++ b/pkg/cmd/release/update_releases.go @@ -126,10 +126,10 @@ func processReleaseData(data []Release) map[string]release.Series { continue } - // For the purposes of the cockroach_releases file, we are only - // interested in beta and rc pre-releases, as we do not support - // upgrades from alpha releases. - if pre := v.PreRelease(); pre != "" && !strings.HasPrefix(pre, "rc") && !strings.HasPrefix(pre, "beta") { + // For the purposes of the cockroach_releases file, we are only interested + // in rc pre-releases, as we do not support upgrades from alpha or beta + // releases. + if pre := v.PreRelease(); pre != "" && !strings.HasPrefix(pre, "rc") { continue } // Skip cloud-only releases, because the binaries are not yet publicly available. @@ -322,7 +322,7 @@ func releaseName(name string) string { } func generateRepositoriesFile(versions ...string) error { - client := httputil.NewClientWithTimeout(15 * time.Second) + client := httputil.NewClientWithTimeout(45 * time.Second) cfgKeys := map[string]string{ "CONFIG_LINUX_AMD64": "linux-amd64", "CONFIG_LINUX_ARM64": "linux-arm64", @@ -334,12 +334,13 @@ func generateRepositoriesFile(versions ...string) error { versionToCfgToHash[v] = make(map[string]string) for cfgKey, cfg := range cfgKeys { url := fmt.Sprintf("https://binaries.cockroachdb.com/cockroach-v%s.%s.tgz", v, cfg) + fmt.Printf("getting %s\n", url) resp, err := client.Get(context.Background(), url) if err != nil { return fmt.Errorf("could not download cockroach release: %w", err) } if resp.StatusCode != http.StatusOK { - return fmt.Errorf("unexpected status code %d when downloading %s", resp.StatusCode, url) + return fmt.Errorf("unexpected status code %d when downloading %s; consider turning off NetSkope", resp.StatusCode, url) } var blob bytes.Buffer if _, err := io.Copy(&blob, resp.Body); err != nil { diff --git a/pkg/cmd/roachtest/roachtestutil/mixedversion/mixedversion_test.go b/pkg/cmd/roachtest/roachtestutil/mixedversion/mixedversion_test.go index cf9bf85fba98..7fe66d79f252 100644 --- a/pkg/cmd/roachtest/roachtestutil/mixedversion/mixedversion_test.go +++ b/pkg/cmd/roachtest/roachtestutil/mixedversion/mixedversion_test.go @@ -37,6 +37,7 @@ var testPredecessorMapping = map[string]*clusterupgrade.Version{ "24.1": clusterupgrade.MustParseVersion("v23.2.4"), "24.2": clusterupgrade.MustParseVersion("v24.1.1"), "24.3": clusterupgrade.MustParseVersion("v24.2.2"), + "25.1": clusterupgrade.MustParseVersion("v24.3.0"), } //go:embed testdata/test_releases.yaml @@ -244,7 +245,7 @@ func Test_choosePreviousReleases(t *testing.T) { arch: vm.ArchAMD64, numUpgrades: 3, enableSkipVersion: true, - expectedReleases: []string{"23.2.4", "24.1.1", "24.2.2"}, + expectedReleases: []string{"23.1.17", "23.2.4", "24.1.1"}, }, } diff --git a/pkg/cmd/roachtest/roachtestutil/mixedversion/testdata/planner/skip_version_upgrades b/pkg/cmd/roachtest/roachtestutil/mixedversion/testdata/planner/skip_version_upgrades index e6eff7c90d59..dc387eed58f6 100644 --- a/pkg/cmd/roachtest/roachtestutil/mixedversion/testdata/planner/skip_version_upgrades +++ b/pkg/cmd/roachtest/roachtestutil/mixedversion/testdata/planner/skip_version_upgrades @@ -28,72 +28,72 @@ ok plan ---- Seed: 12345 -Upgrades: v23.2.0 → v24.1.1 → v24.2.0 → +Upgrades: v23.1.4 → v23.2.0 → v24.1.1 → Deployment mode: system-only Plan: -├── install fixtures for version "v23.2.0" (1) -├── start cluster at version "v23.2.0" (2) -├── wait for all nodes (:1-4) to acknowledge cluster version '23.2' on system tenant (3) +├── install fixtures for version "v23.1.4" (1) +├── start cluster at version "v23.1.4" (2) +├── wait for all nodes (:1-4) to acknowledge cluster version '23.1' on system tenant (3) ├── run "initialize bank workload" (4) ├── start background hooks concurrently │ ├── run "bank workload", after 3m0s delay (5) │ └── run "csv server", after 5s delay (6) -├── upgrade cluster from "v23.2.0" to "v24.1.1" +├── upgrade cluster from "v23.1.4" to "v23.2.0" │ ├── prevent auto-upgrades on system tenant by setting `preserve_downgrade_option` (7) -│ ├── upgrade nodes :1-4 from "v23.2.0" to "v24.1.1" -│ │ ├── restart node 4 with binary version v24.1.1 (8) -│ │ ├── restart node 1 with binary version v24.1.1 (9) +│ ├── upgrade nodes :1-4 from "v23.1.4" to "v23.2.0" +│ │ ├── restart node 4 with binary version v23.2.0 (8) +│ │ ├── restart node 1 with binary version v23.2.0 (9) │ │ ├── run mixed-version hooks concurrently │ │ │ ├── run "mixed-version 1", after 500ms delay (10) │ │ │ └── run "mixed-version 2", after 5s delay (11) -│ │ ├── restart node 2 with binary version v24.1.1 (12) -│ │ └── restart node 3 with binary version v24.1.1 (13) +│ │ ├── restart node 2 with binary version v23.2.0 (12) +│ │ └── restart node 3 with binary version v23.2.0 (13) │ ├── allow upgrade to happen on system tenant by resetting `preserve_downgrade_option` (14) │ ├── run mixed-version hooks concurrently │ │ ├── run "mixed-version 1", after 100ms delay (15) │ │ └── run "mixed-version 2", after 500ms delay (16) -│ ├── wait for all nodes (:1-4) to acknowledge cluster version '24.1' on system tenant (17) +│ ├── wait for all nodes (:1-4) to acknowledge cluster version '23.2' on system tenant (17) │ └── run "validate upgrade" (18) -├── upgrade cluster from "v24.1.1" to "v24.2.0" +├── upgrade cluster from "v23.2.0" to "v24.1.1" │ ├── prevent auto-upgrades on system tenant by setting `preserve_downgrade_option` (19) -│ ├── upgrade nodes :1-4 from "v24.1.1" to "v24.2.0" -│ │ ├── restart node 1 with binary version v24.2.0 (20) -│ │ ├── restart node 3 with binary version v24.2.0 (21) -│ │ ├── restart node 4 with binary version v24.2.0 (22) +│ ├── upgrade nodes :1-4 from "v23.2.0" to "v24.1.1" +│ │ ├── restart node 1 with binary version v24.1.1 (20) +│ │ ├── restart node 3 with binary version v24.1.1 (21) +│ │ ├── restart node 4 with binary version v24.1.1 (22) │ │ ├── run "mixed-version 1" (23) -│ │ ├── restart node 2 with binary version v24.2.0 (24) +│ │ ├── restart node 2 with binary version v24.1.1 (24) │ │ └── run "mixed-version 2" (25) -│ ├── downgrade nodes :1-4 from "v24.2.0" to "v24.1.1" -│ │ ├── restart node 4 with binary version v24.1.1 (26) -│ │ ├── restart node 3 with binary version v24.1.1 (27) -│ │ ├── restart node 2 with binary version v24.1.1 (28) -│ │ └── restart node 1 with binary version v24.1.1 (29) -│ ├── upgrade nodes :1-4 from "v24.1.1" to "v24.2.0" -│ │ ├── restart node 3 with binary version v24.2.0 (30) +│ ├── downgrade nodes :1-4 from "v24.1.1" to "v23.2.0" +│ │ ├── restart node 4 with binary version v23.2.0 (26) +│ │ ├── restart node 3 with binary version v23.2.0 (27) +│ │ ├── restart node 2 with binary version v23.2.0 (28) +│ │ └── restart node 1 with binary version v23.2.0 (29) +│ ├── upgrade nodes :1-4 from "v23.2.0" to "v24.1.1" +│ │ ├── restart node 3 with binary version v24.1.1 (30) │ │ ├── run "mixed-version 1" (31) -│ │ ├── restart node 2 with binary version v24.2.0 (32) -│ │ ├── restart node 1 with binary version v24.2.0 (33) +│ │ ├── restart node 2 with binary version v24.1.1 (32) +│ │ ├── restart node 1 with binary version v24.1.1 (33) │ │ ├── run "mixed-version 2" (34) -│ │ └── restart node 4 with binary version v24.2.0 (35) +│ │ └── restart node 4 with binary version v24.1.1 (35) │ ├── allow upgrade to happen on system tenant by resetting `preserve_downgrade_option` (36) -│ ├── wait for all nodes (:1-4) to acknowledge cluster version '24.2' on system tenant (37) +│ ├── wait for all nodes (:1-4) to acknowledge cluster version '24.1' on system tenant (37) │ └── run "validate upgrade" (38) -└── upgrade cluster from "v24.2.0" to "" +└── upgrade cluster from "v24.1.1" to "" ├── prevent auto-upgrades on system tenant by setting `preserve_downgrade_option` (39) - ├── upgrade nodes :1-4 from "v24.2.0" to "" + ├── upgrade nodes :1-4 from "v24.1.1" to "" │ ├── restart node 3 with binary version (40) │ ├── run "mixed-version 1" (41) │ ├── restart node 2 with binary version (42) │ ├── run "mixed-version 2" (43) │ ├── restart node 4 with binary version (44) │ └── restart node 1 with binary version (45) - ├── downgrade nodes :1-4 from "" to "v24.2.0" - │ ├── restart node 2 with binary version v24.2.0 (46) - │ ├── restart node 3 with binary version v24.2.0 (47) - │ ├── restart node 1 with binary version v24.2.0 (48) + ├── downgrade nodes :1-4 from "" to "v24.1.1" + │ ├── restart node 2 with binary version v24.1.1 (46) + │ ├── restart node 3 with binary version v24.1.1 (47) + │ ├── restart node 1 with binary version v24.1.1 (48) │ ├── run "mixed-version 1" (49) - │ └── restart node 4 with binary version v24.2.0 (50) - ├── upgrade nodes :1-4 from "v24.2.0" to "" + │ └── restart node 4 with binary version v24.1.1 (50) + ├── upgrade nodes :1-4 from "v24.1.1" to "" │ ├── restart node 1 with binary version (51) │ ├── restart node 3 with binary version (52) │ ├── run "mixed-version 2" (53) diff --git a/pkg/cmd/sql-bootstrap-data/main.go b/pkg/cmd/sql-bootstrap-data/main.go index b972d7a826a5..d1c6409a02b9 100644 --- a/pkg/cmd/sql-bootstrap-data/main.go +++ b/pkg/cmd/sql-bootstrap-data/main.go @@ -32,7 +32,7 @@ func main() { tenantKeys, tenantHash := bootstrap.GetAndHashInitialValuesToString(12345) fmt.Printf("\n// Commit the generated files and " + - " add the following declarations to the end of initial_values.go:\n") + "add the following declarations to the end of initial_values.go:\n") writeDataFile(version, "system.keys", systemKeys) writeDataFile(version, "system.sha256", systemHash) writeDataFile(version, "tenant.keys", tenantKeys) @@ -45,7 +45,15 @@ func main() { systemHash: v%[1]d_%[2]d_system_sha256, nonSystem: v%[1]d_%[2]d_tenant_keys, nonSystemHash: v%[1]d_%[2]d_tenant_sha256, - }.build + }.build, +`, version.Major, version.Minor) + + fmt.Printf("\n\n// Add these to BUILD.bazel, under embedsrcs:\n") + fmt.Printf(` + "data/%[1]d_%[2]d_system.keys", + "data/%[1]d_%[2]d_system.sha256", + "data/%[1]d_%[2]d_tenant.keys", + "data/%[1]d_%[2]d_tenant.sha256", `, version.Major, version.Minor) } diff --git a/pkg/roachpb/version.go b/pkg/roachpb/version.go index b74d5496d7d7..f42dd6eff173 100644 --- a/pkg/roachpb/version.go +++ b/pkg/roachpb/version.go @@ -235,6 +235,7 @@ var successorSeries = map[ReleaseSeries]ReleaseSeries{ {23, 2}: {24, 1}, {24, 1}: {24, 2}, {24, 2}: {24, 3}, + {24, 3}: {25, 1}, } // ReleaseSeries obtains the release series for the given version. Specifically: diff --git a/pkg/roachpb/version_test.go b/pkg/roachpb/version_test.go index e3285e2ea409..3d9acca29d63 100644 --- a/pkg/roachpb/version_test.go +++ b/pkg/roachpb/version_test.go @@ -93,7 +93,7 @@ func TestReleaseSeriesSuccessor(t *testing.T) { for ok := true; ok; r, ok = r.Successor() { seq = append(seq, r.String()) } - expected := "20.1, 20.2, 21.1, 21.2, 22.1, 22.2, 23.1, 23.2, 24.1, 24.2, 24.3" + expected := "20.1, 20.2, 21.1, 21.2, 22.1, 22.2, 23.1, 23.2, 24.1, 24.2, 24.3, 25.1" require.Equal(t, expected, strings.Join(seq, ", ")) } diff --git a/pkg/sql/catalog/bootstrap/BUILD.bazel b/pkg/sql/catalog/bootstrap/BUILD.bazel index a88f9f487835..a68611d4b1ff 100644 --- a/pkg/sql/catalog/bootstrap/BUILD.bazel +++ b/pkg/sql/catalog/bootstrap/BUILD.bazel @@ -16,6 +16,10 @@ go_library( "data/24_2_system.sha256", "data/24_2_tenant.keys", "data/24_2_tenant.sha256", + "data/24_3_system.keys", + "data/24_3_system.sha256", + "data/24_3_tenant.keys", + "data/24_3_tenant.sha256", ], importpath = "github.com/cockroachdb/cockroach/pkg/sql/catalog/bootstrap", visibility = ["//visibility:public"], diff --git a/pkg/sql/catalog/bootstrap/data/24_3_system.keys b/pkg/sql/catalog/bootstrap/data/24_3_system.keys new file mode 100644 index 000000000000..009e20d93390 --- /dev/null +++ b/pkg/sql/catalog/bootstrap/data/24_3_system.keys @@ -0,0 +1,197 @@ +[{"key":"8b"} +,{"key":"8b89898a89","value":"0312450a0673797374656d10011a250a0d0a0561646d696e1080101880100a0c0a04726f6f7410801018801012046e6f646518032200280140004a006a0808181003180020007000"} +,{"key":"8b898b8a89","value":"030a94030a0a64657363726970746f721803200128013a0042270a02696410011a0c08011040180030005014600020003000680070007800800100880100980100422f0a0a64657363726970746f7210021a0c08081000180030005011600020013000680070007800800100880100980100480352710a077072696d61727910011801220269642a0a64657363726970746f72300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800101880103980100b201130a077072696d61727910001a02696420012800b201240a1066616d5f325f64657363726970746f7210021a0a64657363726970746f7220022802b80103c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b898c8a89","value":"030acd050a0575736572731804200128013a00422d0a08757365726e616d6510011a0c0807100018003000501960002000300068007000780080010088010098010042330a0e68617368656450617373776f726410021a0c0808100018003000501160002001300068007000780080010088010098010042320a066973526f6c6510031a0c08001000180030005010600020002a0566616c73653000680070007800800100880100980100422c0a07757365725f696410041a0c080c100018003000501a60002000300068007000780080010088010098010048055290010a077072696d617279100118012208757365726e616d652a0e68617368656450617373776f72642a066973526f6c652a07757365725f6964300140004a10080010001a00200028003000380040005a007002700370047a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00102e00100e90100000000000000005a740a1175736572735f757365725f69645f696478100218012207757365725f69643004380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201240a077072696d61727910001a08757365726e616d651a07757365725f6964200120042804b2012c0a1466616d5f325f68617368656450617373776f726410021a0e68617368656450617373776f726420022802b2011c0a0c66616d5f335f6973526f6c6510031a066973526f6c6520032803b80104c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b898d8a89","value":"030a83030a057a6f6e65731805200128013a0042270a02696410011a0c08011040180030005014600020003000680070007800800100880100980100422b0a06636f6e66696710021a0c080810001800300050116000200130006800700078008001008801009801004803526d0a077072696d61727910011801220269642a06636f6e666967300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201130a077072696d61727910001a02696420012800b2011c0a0c66616d5f325f636f6e66696710021a06636f6e66696720022802b80103c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b898e8a89","value":"030ac2040a0873657474696e67731806200128013a0042290a046e616d6510011a0c08071000180030005019600020003000680070007800800100880100980100422a0a0576616c756510021a0c0807100018003000501960002000300068007000780080010088010098010042440a0b6c6173745570646174656410031a0d080510001800300050da08600020002a116e6f7728293a3a3a54494d455354414d503000680070007800800100880100980100422e0a0976616c75655479706510041a0c080710001800300050196000200130006800700078008001008801009801004805528a010a077072696d6172791001180122046e616d652a0576616c75652a0b6c617374557064617465642a0976616c756554797065300140004a10080010001a00200028003000380040005a007002700370047a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201590a2666616d5f305f6e616d655f76616c75655f6c617374557064617465645f76616c75655479706510001a046e616d651a0576616c75651a0b6c617374557064617465641a0976616c75655479706520012002200320042800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b898f8a89","value":"030adf020a1164657363726970746f725f69645f7365711807200128013a00422a0a0576616c756510011a0c08011040180030005014600020003000680070007800800100880100980100480052660a077072696d61727910011800220576616c7565300140004a10080010001a00200028003000380040005a007a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060006a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800100880103980100b201160a077072696d61727910001a0576616c756520012801b80100c20100e2011e0801100118ffffffffffffffff7f20012800320408001000380142004800e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880300a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89908a89","value":"030afe060a0774656e616e74731808200128013a0042270a02696410011a0c0801104018003000501460002000300068007000780080010088010098010042310a0661637469766510021a0c08001000180030005010600020002a0474727565300168007000780080010088010098010042290a04696e666f10031a0c0808100018003000501160002001300068007000780080010088010098010042290a046e616d6510041a0c08071000180030005019600020013000680070007800800100880100980100422f0a0a646174615f737461746510051a0c0801104018003000501460002001300068007000780080010088010098010042310a0c736572766963655f6d6f646510061a0c080110401800300050146000200130006800700078008001008801009801004807529b010a077072696d61727910011801220269642a066163746976652a04696e666f2a046e616d652a0a646174615f73746174652a0c736572766963655f6d6f6465300140004a10080010001a00200028003000380040005a00700270037004700570067a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00102e00100e90100000000000000005a700a1074656e616e74735f6e616d655f6964781002180122046e616d653004380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a80010a1874656e616e74735f736572766963655f6d6f64655f69647810031800220c736572766963655f6d6f64653006380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060046a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800101880103980100b2014b0a077072696d61727910001a0269641a066163746976651a04696e666f1a046e616d651a0a646174615f73746174651a0c736572766963655f6d6f64652001200220032004200520062800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89918a89","value":"030aba030a0f726567696f6e5f6c6976656e6573731809200128013a0042300a0b637264625f726567696f6e10011a0c0808100018003000501160002000300068007000780080010088010098010042340a0e756e617661696c61626c655f617410021a0d080510001800300050da086000200130006800700078008001008801009801004803528b010a14726567696f6e5f6c6976656e6573735f706b657910011801220b637264625f726567696f6e2a0e756e617661696c61626c655f6174300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2012e0a077072696d61727910001a0b637264625f726567696f6e1a0e756e617661696c61626c655f6174200120022802b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89938a89","value":"030a80050a056c65617365180b200128013a00422c0a07646573635f696410011a0c08011040180030005014600020003000680070007800800100880100980100422c0a0776657273696f6e10021a0c0801104018003000501460002000300068007000780080010088010098010042340a0f73716c5f696e7374616e63655f696410031a0c08011040180030005014600020003000680070007800800100880100980100422f0a0a73657373696f6e5f696410041a0c0808100018003000501160002000300068007000780080010088010098010042300a0b637264625f726567696f6e10051a0c08081000180030005011600020003000680070007800800100880100980100480652a9010a077072696d61727910031801220b637264625f726567696f6e2207646573635f6964220776657273696f6e220a73657373696f6e5f69642a0f73716c5f696e7374616e63655f6964300530013002300440004000400040004a10080010001a00200028003000380040005a0070037a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060046a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201530a077072696d61727910001a07646573635f69641a0776657273696f6e1a0f73716c5f696e7374616e63655f69641a0a73657373696f6e5f69641a0b637264625f726567696f6e200120022003200420052803b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800301880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89948a89","value":"030a93060a086576656e746c6f67180c200128013a00422f0a0974696d657374616d7010011a0d080510001800300050da08600020003000680070007800800100880100980100422e0a096576656e745479706510021a0c08071000180030005019600020003000680070007800800100880100980100422d0a08746172676574494410031a0c0801104018003000501460002000300068007000780080010088010098010042300a0b7265706f7274696e67494410041a0c0801104018003000501460002000300068007000780080010088010098010042290a04696e666f10051a0c0807100018003000501960002001300068007000780080010088010098010042380a08756e69717565494410061a0c08081000180030005011600020002a09757569645f763428293000680070007800800100880100980100480752a8010a077072696d61727910011801220974696d657374616d702208756e6971756549442a096576656e74547970652a0874617267657449442a0b7265706f7274696e6749442a04696e666f30013006400040004a10080010001a00200028003000380040005a0070027003700470057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201260a077072696d61727910001a0974696d657374616d701a08756e697175654944200120062800b201220a0f66616d5f325f6576656e745479706510021a096576656e745479706520022802b201200a0e66616d5f335f746172676574494410031a08746172676574494420032803b201260a1166616d5f345f7265706f7274696e67494410041a0b7265706f7274696e67494420042804b201180a0a66616d5f355f696e666f10051a04696e666f20052805b80106c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89958a89","value":"030af2060a0872616e67656c6f67180d200128013a00422f0a0974696d657374616d7010011a0d080510001800300050da08600020003000680070007800800100880100980100422c0a0772616e6765494410021a0c08011040180030005014600020003000680070007800800100880100980100422c0a0773746f7265494410031a0c08011040180030005014600020003000680070007800800100880100980100422e0a096576656e745479706510041a0c0807100018003000501960002000300068007000780080010088010098010042310a0c6f7468657252616e6765494410051a0c0801104018003000501460002001300068007000780080010088010098010042290a04696e666f10061a0c08071000180030005019600020013000680070007800800100880100980100423d0a08756e69717565494410071a0c08011040180030005014600020002a0e756e697175655f726f77696428293000680070007800800100880100980100480852b3010a077072696d61727910011801220974696d657374616d702208756e6971756549442a0772616e676549442a0773746f726549442a096576656e74547970652a0c6f7468657252616e676549442a04696e666f30013007400040004a10080010001a00200028003000380040005a00700270037004700570067a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201260a077072696d61727910001a0974696d657374616d701a08756e697175654944200120072800b2011e0a0d66616d5f325f72616e6765494410021a0772616e6765494420022802b2011e0a0d66616d5f335f73746f7265494410031a0773746f7265494420032803b201220a0f66616d5f345f6576656e745479706510041a096576656e745479706520042804b201280a1266616d5f355f6f7468657252616e6765494410051a0c6f7468657252616e6765494420052805b201180a0a66616d5f365f696e666f10061a04696e666f20062806b80107c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89968a89","value":"030aea030a027569180e200128013a0042280a036b657910011a0c08071000180030005019600020003000680070007800800100880100980100422a0a0576616c756510021a0c0808100018003000501160002001300068007000780080010088010098010042310a0b6c6173745570646174656410031a0d080510001800300050da086000200030006800700078008001008801009801004804527c0a077072696d6172791001180122036b65792a0576616c75652a0b6c61737455706461746564300140004a10080010001a00200028003000380040005a00700270037a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201140a077072696d61727910001a036b657920012800b2011a0a0b66616d5f325f76616c756510021a0576616c756520022802b201260a1166616d5f335f6c6173745570646174656410031a0b6c6173745570646174656420032803b80104c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89978a89","value":"030a8c100a046a6f6273180f200128013a0042370a02696410011a0c08011040180030005014600020002a0e756e697175655f726f77696428293000680070007800800100880100980100422b0a0673746174757310021a0c0807100018003000501960002000300068007000780080010088010098010042400a076372656174656410031a0d080510001800300050da08600020002a116e6f7728293a3a3a54494d455354414d50300068007000780080010088010098010042340a0f64726f707065645f7061796c6f616410041a0c0808100018003000501160002001300168007000780080010088010098010042350a1064726f707065645f70726f677265737310051a0c0808100018003000501160002001300168007000780080010088010098010042340a0f637265617465645f62795f7479706510061a0c0807100018003000501960002001300068007000780080010088010098010042320a0d637265617465645f62795f696410071a0c0801104018003000501460002001300068007000780080010088010098010042350a10636c61696d5f73657373696f6e5f696410081a0c0808100018003000501160002001300068007000780080010088010098010042360a11636c61696d5f696e7374616e63655f696410091a0c08011040180030005014600020013000680070007800800100880100980100422d0a086e756d5f72756e73100a1a0c08011040180030005014600020013000680070007800800100880100980100422e0a086c6173745f72756e100b1a0d080510001800300050da08600020013000680070007800800100880100980100422d0a086a6f625f74797065100c1a0c08071000180030005019600020013000680070007800800100880100980100480d5290020a077072696d61727910011801220269642a067374617475732a07637265617465642a0f64726f707065645f7061796c6f61642a1064726f707065645f70726f67726573732a0f637265617465645f62795f747970652a0d637265617465645f62795f69642a10636c61696d5f73657373696f6e5f69642a11636c61696d5f696e7374616e63655f69642a086e756d5f72756e732a086c6173745f72756e2a086a6f625f74797065300140004a10080010001a00200028003000380040005a0070027003700470057006700770087009700a700b700c7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a86010a176a6f62735f7374617475735f637265617465645f696478100218002206737461747573220763726561746564300230033801400040004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aae010a266a6f62735f637265617465645f62795f747970655f637265617465645f62795f69645f69647810031800220f637265617465645f62795f74797065220d637265617465645f62795f69642a06737461747573300630073801400040004a10080010001a00200028003000380040005a0070027a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ac6020a126a6f62735f72756e5f73746174735f696478100418002210636c61696d5f73657373696f6e5f696422067374617475732207637265617465642a086c6173745f72756e2a086e756d5f72756e732a11636c61696d5f696e7374616e63655f696430083002300338014000400040004a10080010001a00200028003000380040005a00700b700a70097a0408002000800100880100900103980100a20106080012001800a80100b20100ba01810173746174757320494e20282772756e6e696e67273a3a3a535452494e472c2027726576657274696e67273a3a3a535452494e472c202770656e64696e67273a3a3a535452494e472c202770617573652d726571756573746564273a3a3a535452494e472c202763616e63656c2d726571756573746564273a3a3a535452494e4729c00100c80100d00100e00100e90100000000000000005a750a116a6f62735f6a6f625f747970655f6964781005180022086a6f625f74797065300c380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060066a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b20183010a1f66616d5f305f69645f7374617475735f637265617465645f7061796c6f616410001a0269641a067374617475731a07637265617465641a0f64726f707065645f7061796c6f61641a0f637265617465645f62795f747970651a0d637265617465645f62795f69641a086a6f625f74797065200120022003200420062007200c2800b201220a0870726f677265737310011a1064726f707065645f70726f677265737320052805b2014c0a05636c61696d10021a10636c61696d5f73657373696f6e5f69641a11636c61696d5f696e7374616e63655f69641a086e756d5f72756e731a086c6173745f72756e20082009200a200b2800b80103c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b899b8a89","value":"030a940c0a0c7765625f73657373696f6e731813200128013a0042370a02696410011a0c08011040180030005014600020002a0e756e697175655f726f7769642829300068007000780080010088010098010042310a0c68617368656453656372657410021a0c08081000180030005011600020003000680070007800800100880100980100422d0a08757365726e616d6510031a0c0807100018003000501960002000300068007000780080010088010098010042420a0963726561746564417410041a0d080510001800300050da08600020002a116e6f7728293a3a3a54494d455354414d503000680070007800800100880100980100422f0a0965787069726573417410051a0d080510001800300050da08600020003000680070007800800100880100980100422f0a097265766f6b6564417410061a0d080510001800300050da0860002001300068007000780080010088010098010042430a0a6c61737455736564417410071a0d080510001800300050da08600020002a116e6f7728293a3a3a54494d455354414d503000680070007800800100880100980100422e0a096175646974496e666f10081a0c08071000180030005019600020013000680070007800800100880100980100422c0a07757365725f696410091a0c080c100018003000501a600020003000680070007800800100880100980100480a52cc010a077072696d61727910011801220269642a0c6861736865645365637265742a08757365726e616d652a096372656174656441742a096578706972657341742a097265766f6b656441742a0a6c6173745573656441742a096175646974496e666f2a07757365725f6964300140004a10080010001a00200028003000380040005a00700270037004700570067007700870097a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a7f0a1a7765625f73657373696f6e735f6578706972657341745f6964781002180022096578706972657341743005380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a7f0a1a7765625f73657373696f6e735f6372656174656441745f6964781003180022096372656174656441743004380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a7f0a1a7765625f73657373696f6e735f7265766f6b656441745f6964781004180022097265766f6b656441743006380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a81010a1b7765625f73657373696f6e735f6c6173745573656441745f69647810051800220a6c6173745573656441743007380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060066a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201c6010a5166616d5f305f69645f6861736865645365637265745f757365726e616d655f6372656174656441745f6578706972657341745f7265766f6b656441745f6c6173745573656441745f6175646974496e666f10001a0269641a0c6861736865645365637265741a08757365726e616d651a096372656174656441741a096578706972657341741a097265766f6b656441741a0a6c6173745573656441741a096175646974496e666f1a07757365725f69642001200220032004200520062007200820092800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b899c8a89","value":"030aaf0a0a107461626c655f737461746973746963731814200128013a00422c0a077461626c65494410011a0c0801104018003000501460002000300068007000780080010088010098010042400a0b737461746973746963494410021a0c08011040180030005014600020002a0e756e697175655f726f7769642829300068007000780080010088010098010042290a046e616d6510031a0c08071000180030005019600020013000680070007800800100880100980100423f0a09636f6c756d6e49447310041a1d080f104018003000380150f8075a0c08011040180030005014600060002000300068007000780080010088010098010042420a0963726561746564417410051a0d080510001800300050da08600020002a116e6f7728293a3a3a54494d455354414d503000680070007800800100880100980100422d0a08726f77436f756e7410061a0c0801104018003000501460002000300068007000780080010088010098010042320a0d64697374696e6374436f756e7410071a0c08011040180030005014600020003000680070007800800100880100980100422e0a096e756c6c436f756e7410081a0c08011040180030005014600020003000680070007800800100880100980100422e0a09686973746f6772616d10091a0c0808100018003000501160002001300068007000780080010088010098010042360a0761766753697a65100a1a0c08011040180030005014600020002a08303a3a3a494e5438300068007000780080010088010098010042350a107061727469616c507265646963617465100b1a0c0807100018003000501960002001300068007000780080010088010098010042340a0f66756c6c5374617469737469634944100c1a0c08011040180030005014600020013000680070007800800100880100980100480d5284020a077072696d6172791001180122077461626c654944220b73746174697374696349442a046e616d652a09636f6c756d6e4944732a096372656174656441742a08726f77436f756e742a0d64697374696e6374436f756e742a096e756c6c436f756e742a09686973746f6772616d2a0761766753697a652a107061727469616c5072656469636174652a0f66756c6c537461746973746963494430013002400040004a10080010001a00200028003000380040005a007003700470057006700770087009700a700b700c7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b20188020a5d66616d5f305f7461626c6549445f73746174697374696349445f6e616d655f636f6c756d6e4944735f6372656174656441745f726f77436f756e745f64697374696e6374436f756e745f6e756c6c436f756e745f686973746f6772616d10001a077461626c6549441a0b73746174697374696349441a046e616d651a09636f6c756d6e4944731a096372656174656441741a08726f77436f756e741a0d64697374696e6374436f756e741a096e756c6c436f756e741a09686973746f6772616d1a0761766753697a651a107061727469616c5072656469636174651a0f66756c6c5374617469737469634944200120022003200420052006200720082009200a200b200c2800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b899d8a89","value":"030ae3040a096c6f636174696f6e731815200128013a0042300a0b6c6f63616c6974794b657910011a0c0807100018003000501960002000300068007000780080010088010098010042320a0d6c6f63616c69747956616c756510021a0c08071000180030005019600020003000680070007800800100880100980100422e0a086c6174697475646510031a0d0803100f1812300050a40d600020003000680070007800800100880100980100422f0a096c6f6e67697475646510041a0d0803100f1812300050a40d60002000300068007000780080010088010098010048055298010a077072696d61727910011801220b6c6f63616c6974794b6579220d6c6f63616c69747956616c75652a086c617469747564652a096c6f6e67697475646530013002400040004a10080010001a00200028003000380040005a00700370047a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201710a3266616d5f305f6c6f63616c6974794b65795f6c6f63616c69747956616c75655f6c617469747564655f6c6f6e67697475646510001a0b6c6f63616c6974794b65791a0d6c6f63616c69747956616c75651a086c617469747564651a096c6f6e67697475646520012002200320042800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b899f8a89","value":"030aa20a0a0c726f6c655f6d656d626572731817200128013a0042290a04726f6c6510011a0c08071000180030005019600020003000680070007800800100880100980100422b0a066d656d62657210021a0c08071000180030005019600020003000680070007800800100880100980100422c0a07697341646d696e10031a0c08001000180030005010600020003000680070007800800100880100980100422c0a07726f6c655f696410041a0c080c100018003000501a600020003000680070007800800100880100980100422e0a096d656d6265725f696410051a0c080c100018003000501a60002000300068007000780080010088010098010048065294010a077072696d617279100118012204726f6c6522066d656d6265722a07697341646d696e2a07726f6c655f69642a096d656d6265725f696430013002400040004a10080010001a00200028003000380040005a007003700470057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00102e00100e90100000000000000005a750a15726f6c655f6d656d626572735f726f6c655f696478100218002204726f6c653001380240004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a790a17726f6c655f6d656d626572735f6d656d6265725f6964781003180022066d656d6265723002380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a7d0a18726f6c655f6d656d626572735f726f6c655f69645f696478100418002207726f6c655f696430043801380240004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a81010a1a726f6c655f6d656d626572735f6d656d6265725f69645f6964781005180022096d656d6265725f696430053801380240004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a96010a22726f6c655f6d656d626572735f726f6c655f69645f6d656d6265725f69645f6b6579100618012207726f6c655f696422096d656d6265725f69643004300538013802400040004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060076a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2011f0a077072696d61727910001a04726f6c651a066d656d626572200120022800b2011e0a0d66616d5f335f697341646d696e10031a07697341646d696e20032803b2011e0a0d66616d5f345f726f6c655f696410041a07726f6c655f696420042804b201220a0f66616d5f355f6d656d6265725f696410051a096d656d6265725f696420052805b80106c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89a08a89","value":"030aae040a08636f6d6d656e74731818200128013a0042290a047479706510011a0c08011040180030005014600020003000680070007800800100880100980100422e0a096f626a6563745f696410021a0c08011040180030005014600020003000680070007800800100880100980100422b0a067375625f696410031a0c08011040180030005014600020003000680070007800800100880100980100422c0a07636f6d6d656e7410041a0c080710001800300050196000200030006800700078008001008801009801004805528b010a077072696d6172791001180122047479706522096f626a6563745f696422067375625f69642a07636f6d6d656e743001300230034000400040004a10080010001a00200028003000380040005a0070047a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a330a0d0a0561646d696e10e00318e0030a0c0a067075626c6963102018000a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2012c0a077072696d61727910001a04747970651a096f626a6563745f69641a067375625f69642001200220032800b2011e0a0d66616d5f345f636f6d6d656e7410041a07636f6d6d656e7420042804b80105c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89a18a89","value":"030aa9060a1c7265706c69636174696f6e5f636f6e73747261696e745f73746174731819200128013a00422c0a077a6f6e655f696410011a0c08011040180030005014600020003000680070007800800100880100980100422f0a0a7375627a6f6e655f696410021a0c0801104018003000501460002000300068007000780080010088010098010042290a047479706510031a0c08071000180030005019600020003000680070007800800100880100980100422b0a06636f6e66696710041a0c08071000180030005019600020003000680070007800800100880100980100422e0a097265706f72745f696410051a0c0801104018003000501460002000300068007000780080010088010098010042350a0f76696f6c6174696f6e5f737461727410061a0d080910001800300050a00960002001300068007000780080010088010098010042350a1076696f6c6174696e675f72616e67657310071a0c08011040180030005014600020003000680070007800800100880100980100480852c2010a077072696d6172791001180122077a6f6e655f6964220a7375627a6f6e655f69642204747970652206636f6e6669672a097265706f72745f69642a0f76696f6c6174696f6e5f73746172742a1076696f6c6174696e675f72616e676573300130023003300440004000400040004a10080010001a00200028003000380040005a007005700670077a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2016c0a077072696d61727910001a077a6f6e655f69641a0a7375627a6f6e655f69641a04747970651a06636f6e6669671a097265706f72745f69641a0f76696f6c6174696f6e5f73746172741a1076696f6c6174696e675f72616e67657320012002200320042005200620072800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800301880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89a28a89","value":"030a92050a1f7265706c69636174696f6e5f637269746963616c5f6c6f63616c6974696573181a200128013a00422c0a077a6f6e655f696410011a0c08011040180030005014600020003000680070007800800100880100980100422f0a0a7375627a6f6e655f696410021a0c08011040180030005014600020003000680070007800800100880100980100422d0a086c6f63616c69747910031a0c08071000180030005019600020003000680070007800800100880100980100422e0a097265706f72745f696410041a0c0801104018003000501460002000300068007000780080010088010098010042330a0e61745f7269736b5f72616e67657310051a0c08011040180030005014600020003000680070007800800100880100980100480652a5010a077072696d6172791001180122077a6f6e655f6964220a7375627a6f6e655f696422086c6f63616c6974792a097265706f72745f69642a0e61745f7269736b5f72616e6765733001300230034000400040004a10080010001a00200028003000380040005a00700470057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201510a077072696d61727910001a077a6f6e655f69641a0a7375627a6f6e655f69641a086c6f63616c6974791a097265706f72745f69641a0e61745f7269736b5f72616e676573200120022003200420052800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89a38a89","value":"030a80070a117265706c69636174696f6e5f7374617473181b200128013a00422c0a077a6f6e655f696410011a0c08011040180030005014600020003000680070007800800100880100980100422f0a0a7375627a6f6e655f696410021a0c08011040180030005014600020003000680070007800800100880100980100422e0a097265706f72745f696410031a0c0801104018003000501460002000300068007000780080010088010098010042310a0c746f74616c5f72616e67657310041a0c0801104018003000501460002000300068007000780080010088010098010042370a12756e617661696c61626c655f72616e67657310051a0c08011040180030005014600020003000680070007800800100880100980100423c0a17756e6465725f7265706c6963617465645f72616e67657310061a0c08011040180030005014600020003000680070007800800100880100980100423b0a166f7665725f7265706c6963617465645f72616e67657310071a0c08011040180030005014600020003000680070007800800100880100980100480852e0010a077072696d6172791001180122077a6f6e655f6964220a7375627a6f6e655f69642a097265706f72745f69642a0c746f74616c5f72616e6765732a12756e617661696c61626c655f72616e6765732a17756e6465725f7265706c6963617465645f72616e6765732a166f7665725f7265706c6963617465645f72616e67657330013002400040004a10080010001a00200028003000380040005a00700370047005700670077a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2018e010a077072696d61727910001a077a6f6e655f69641a0a7375627a6f6e655f69641a097265706f72745f69641a0c746f74616c5f72616e6765731a12756e617661696c61626c655f72616e6765731a17756e6465725f7265706c6963617465645f72616e6765731a166f7665725f7265706c6963617465645f72616e67657320012002200320042005200620072800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800301880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89a48a89","value":"030aff020a0c7265706f7274735f6d657461181c200128013a0042270a02696410011a0c08011040180030005014600020003000680070007800800100880100980100422f0a0967656e65726174656410021a0d080910001800300050a009600020003000680070007800800100880100980100480352700a077072696d61727910011801220269642a0967656e657261746564300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201200a077072696d61727910001a0269641a0967656e657261746564200120022802b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89a68a89","value":"030a9e040a096e616d657370616365181e200128013a00422d0a08706172656e74494410011a0c0801104018003000501460002000300068007000780080010088010098010042330a0e706172656e74536368656d61494410021a0c0801104018003000501460002000300068007000780080010088010098010042290a046e616d6510031a0c0807100018003000501960002000300068007000780080010088010098010042270a02696410041a0c080110401800300050146000200130006800700078008001008801009801004805528d010a077072696d617279100118012208706172656e744944220e706172656e74536368656d61494422046e616d652a0269643001300230034000400040004a10080010001a00200028003000380040005a0070047a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800101880103980100b201330a077072696d61727910001a08706172656e7449441a0e706172656e74536368656d6149441a046e616d652001200220032800b201140a0866616d5f345f696410041a02696420042804b80105c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89a78a89","value":"030aa8050a1170726f7465637465645f74735f6d657461181f200128013a0042340a0973696e676c65746f6e10011a0c08001000180030005010600020002a04747275653000680070007800800100880100980100422c0a0776657273696f6e10021a0c0801104018003000501460002000300068007000780080010088010098010042300a0b6e756d5f7265636f72647310031a0c08011040180030005014600020003000680070007800800100880100980100422e0a096e756d5f7370616e7310041a0c0801104018003000501460002000300068007000780080010088010098010042300a0b746f74616c5f627974657310051a0c08011040180030005014600020003000680070007800800100880100980100480652a0010a077072696d61727910011801220973696e676c65746f6e2a0776657273696f6e2a0b6e756d5f7265636f7264732a096e756d5f7370616e732a0b746f74616c5f6279746573300140004a10080010001a00200028003000380040005a0070027003700470057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800101880103980100a201260a0973696e676c65746f6e120f636865636b5f73696e676c65746f6e18002801300038004002b201500a077072696d61727910001a0973696e676c65746f6e1a0776657273696f6e1a0b6e756d5f7265636f7264731a096e756d5f7370616e731a0b746f74616c5f6279746573200120022003200420052800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89a88a89","value":"030a8c060a1470726f7465637465645f74735f7265636f7264731820200128013a0042280a02696410011a0d080e10001800300050861760002000300068007000780080010088010098010042280a02747310021a0d080310001800300050a40d600020003000680070007800800100880100980100422e0a096d6574615f7479706510031a0c0807100018003000501960002000300068007000780080010088010098010042290a046d65746110041a0c08081000180030005011600020013000680070007800800100880100980100422e0a096e756d5f7370616e7310051a0c08011040180030005014600020003000680070007800800100880100980100422a0a057370616e7310061a0c0808100018003000501160002000300068007000780080010088010098010042340a08766572696669656410071a0c08001000180030005010600020002a0566616c73653000680070007800800100880100980100422b0a0674617267657410081a0c08081000180030005011600020013000680070007800800100880100980100480952aa010a077072696d61727910011801220269642a0274732a096d6574615f747970652a046d6574612a096e756d5f7370616e732a057370616e732a0876657269666965642a06746172676574300140004a10080010001a00200028003000380040005a0070027003700470057006700770087a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800101880103980100b2015a0a077072696d61727910001a0269641a0274731a096d6574615f747970651a046d6574611a096e756d5f7370616e731a057370616e731a0876657269666965641a06746172676574200120022003200420052006200720082800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89a98a89","value":"030a84050a0c726f6c655f6f7074696f6e731821200128013a00422d0a08757365726e616d6510011a0c08071000180030005019600020003000680070007800800100880100980100422b0a066f7074696f6e10021a0c08071000180030005019600020003000680070007800800100880100980100422a0a0576616c756510031a0c08071000180030005019600020013000680070007800800100880100980100422c0a07757365725f696410041a0c080c100018003000501a60002000300068007000780080010088010098010048055289010a077072696d617279100118012208757365726e616d6522066f7074696f6e2a0576616c75652a07757365725f696430013002400040004a10080010001a00200028003000380040005a00700370047a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a760a1175736572735f757365725f69645f696478100218002207757365725f696430043801380240004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201370a077072696d61727910001a08757365726e616d651a066f7074696f6e1a0576616c75651a07757365725f696420012002200320042800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89aa8a89","value":"030ada030a1773746174656d656e745f62756e646c655f6368756e6b731822200128013a0042370a02696410011a0c08011040180030005014600020002a0e756e697175655f726f7769642829300068007000780080010088010098010042300a0b6465736372697074696f6e10021a0c0807100018003000501960002001300068007000780080010088010098010042290a046461746110031a0c080810001800300050116000200030006800700078008001008801009801004804527a0a077072696d61727910011801220269642a0b6465736372697074696f6e2a0464617461300140004a10080010001a00200028003000380040005a00700270037a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2012a0a077072696d61727910001a0269641a0b6465736372697074696f6e1a04646174612001200220032800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89ab8a89","value":"030ae50c0a1e73746174656d656e745f646961676e6f73746963735f72657175657374731823200128013a0042370a02696410011a0c08011040180030005014600020002a0e756e697175655f726f7769642829300068007000780080010088010098010042350a09636f6d706c6574656410021a0c08001000180030005010600020002a0566616c73653000680070007800800100880100980100423a0a1573746174656d656e745f66696e6765727072696e7410031a0c08071000180030005019600020003000680070007800800100880100980100423d0a1873746174656d656e745f646961676e6f73746963735f696410041a0c0801104018003000501460002001300068007000780080010088010098010042320a0c7265717565737465645f617410051a0d080910001800300050a00960002000300068007000780080010088010098010042410a156d696e5f657865637574696f6e5f6c6174656e637910061a13080610001800300050a20960006a04080010002001300068007000780080010088010098010042300a0a657870697265735f617410071a0d080910001800300050a009600020013000680070007800800100880100980100423a0a1473616d706c696e675f70726f626162696c69747910081a0d080210401800300050bd05600020013000680070007800800100880100980100422e0a09706c616e5f6769737410091a0c0807100018003000501960002001300068007000780080010088010098010042330a0e616e74695f706c616e5f67697374100a1a0c0800100018003000501060002001300068007000780080010088010098010042340a087265646163746564100b1a0c08001000180030005010600020002a0566616c73653000680070007800800100880100980100480c529f020a077072696d61727910011801220269642a09636f6d706c657465642a1573746174656d656e745f66696e6765727072696e742a1873746174656d656e745f646961676e6f73746963735f69642a0c7265717565737465645f61742a156d696e5f657865637574696f6e5f6c6174656e63792a0a657870697265735f61742a1473616d706c696e675f70726f626162696c6974792a09706c616e5f676973742a0e616e74695f706c616e5f676973742a087265646163746564300140004a10080010001a00200028003000380040005a0070027003700470057006700770087009700a700b7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005afb010a0d636f6d706c657465645f696478100218002209636f6d706c65746564220269642a1573746174656d656e745f66696e6765727072696e742a156d696e5f657865637574696f6e5f6c6174656e63792a0a657870697265735f61742a1473616d706c696e675f70726f626162696c6974792a09706c616e5f676973742a0e616e74695f706c616e5f676973742a08726564616374656430023001400040004a10080010001a00200028003000380040005a0070037006700770087009700a700b7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100a201620a3a73616d706c696e675f70726f626162696c697479204245545745454e20302e303a3a3a464c4f41543820414e4420312e303a3a3a464c4f415438121a636865636b5f73616d706c696e675f70726f626162696c69747918002808300038004002b201cf010a077072696d61727910001a0269641a09636f6d706c657465641a1573746174656d656e745f66696e6765727072696e741a1873746174656d656e745f646961676e6f73746963735f69641a0c7265717565737465645f61741a156d696e5f657865637574696f6e5f6c6174656e63791a0a657870697265735f61741a1473616d706c696e675f70726f626162696c6974791a09706c616e5f676973741a0e616e74695f706c616e5f676973741a087265646163746564200120022003200420052006200720082009200a200b2800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89ac8a89","value":"030abe060a1573746174656d656e745f646961676e6f73746963731824200128013a0042370a02696410011a0c08011040180030005014600020002a0e756e697175655f726f77696428293000680070007800800100880100980100423a0a1573746174656d656e745f66696e6765727072696e7410021a0c08071000180030005019600020003000680070007800800100880100980100422e0a0973746174656d656e7410031a0c0807100018003000501960002000300068007000780080010088010098010042320a0c636f6c6c65637465645f617410041a0d080910001800300050a009600020003000680070007800800100880100980100422b0a05747261636510051a0d081210001800300050da1d60002001300068007000780080010088010098010042430a0d62756e646c655f6368756e6b7310061a1d080f104018003000380150f8075a0c080110401800300050146000600020013000680070007800800100880100980100422a0a056572726f7210071a0c08071000180030005019600020013000680070007800800100880100980100480852bc010a077072696d61727910011801220269642a1573746174656d656e745f66696e6765727072696e742a0973746174656d656e742a0c636f6c6c65637465645f61742a0574726163652a0d62756e646c655f6368756e6b732a056572726f72300140004a10080010001a00200028003000380040005a007002700370047005700670077a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2016c0a077072696d61727910001a0269641a1573746174656d656e745f66696e6765727072696e741a0973746174656d656e741a0c636f6c6c65637465645f61741a0574726163651a0d62756e646c655f6368756e6b731a056572726f7220012002200320042005200620072800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89ad8a89","value":"030ad3090a0e7363686564756c65645f6a6f62731825200128013a0042400a0b7363686564756c655f696410011a0c08011040180030005014600020002a0e756e697175655f726f7769642829300068007000780080010088010098010042320a0d7363686564756c655f6e616d6510021a0c0807100018003000501960002000300068007000780080010088010098010042420a076372656174656410031a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a3000680070007800800100880100980100422a0a056f776e657210041a0c08071000180030005019600020003000680070007800800100880100980100422e0a086e6578745f72756e10051a0d080910001800300050a00960002001300068007000780080010088010098010042330a0e7363686564756c655f737461746510061a0c0808100018003000501160002001300068007000780080010088010098010042320a0d7363686564756c655f6578707210071a0c0807100018003000501960002001300068007000780080010088010098010042350a107363686564756c655f64657461696c7310081a0c0808100018003000501160002001300068007000780080010088010098010042320a0d6578656375746f725f7479706510091a0c0807100018003000501960002000300068007000780080010088010098010042330a0e657865637574696f6e5f61726773100a1a0c08081000180030005011600020003000680070007800800100880100980100480b52f7010a077072696d61727910011801220b7363686564756c655f69642a0d7363686564756c655f6e616d652a07637265617465642a056f776e65722a086e6578745f72756e2a0e7363686564756c655f73746174652a0d7363686564756c655f657870722a107363686564756c655f64657461696c732a0d6578656375746f725f747970652a0e657865637574696f6e5f61726773300140004a10080010001a00200028003000380040005a0070027003700470057006700770087009700a7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a700a0c6e6578745f72756e5f6964781002180022086e6578745f72756e3005380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201380a05736368656410001a0b7363686564756c655f69641a086e6578745f72756e1a0e7363686564756c655f73746174652001200520062800b201780a056f7468657210011a0d7363686564756c655f6e616d651a07637265617465641a056f776e65721a0d7363686564756c655f657870721a107363686564756c655f64657461696c731a0d6578656375746f725f747970651a0e657865637574696f6e5f61726773200220032004200720082009200a2800b80102c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89af8a89","value":"030aec030a0b73716c6c6976656e6573731827200128013a00422f0a0a73657373696f6e5f696410011a0c0808100018003000501160002000300068007000780080010088010098010042300a0a65787069726174696f6e10021a0d080310001800300050a40d60002000300068007000780080010088010098010042300a0b637264625f726567696f6e10031a0c080810001800300050116000200030006800700078008001008801009801004804528a010a077072696d61727910021801220b637264625f726567696f6e220a73657373696f6e5f69642a0a65787069726174696f6e30033001400040004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201380a077072696d61727910001a0b637264625f726567696f6e1a0a73657373696f6e5f69641a0a65787069726174696f6e2003200120022802b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89b08a89","value":"030ad9040a0a6d6967726174696f6e731828200128013a00422a0a056d616a6f7210011a0c08011040180030005014600020003000680070007800800100880100980100422a0a056d696e6f7210021a0c08011040180030005014600020003000680070007800800100880100980100422a0a05706174636810031a0c08011040180030005014600020003000680070007800800100880100980100422d0a08696e7465726e616c10041a0c0801104018003000501460002000300068007000780080010088010098010042320a0c636f6d706c657465645f617410051a0d080910001800300050a0096000200030006800700078008001008801009801004806529a010a077072696d6172791001180122056d616a6f7222056d696e6f72220570617463682208696e7465726e616c2a0c636f6d706c657465645f6174300130023003300440004000400040004a10080010001a00200028003000380040005a0070057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201440a077072696d61727910001a056d616a6f721a056d696e6f721a0570617463681a08696e7465726e616c1a0c636f6d706c657465645f6174200120022003200420052805b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89b18a89","value":"030ac3030a0b6a6f696e5f746f6b656e731829200128013a0042280a02696410011a0d080e100018003000508617600020003000680070007800800100880100980100422b0a0673656372657410021a0c0808100018003000501160002000300068007000780080010088010098010042300a0a65787069726174696f6e10031a0d080910001800300050a0096000200030006800700078008001008801009801004804527b0a077072696d61727910011801220269642a067365637265742a0a65787069726174696f6e300140004a10080010001a00200028003000380040005a00700270037a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2012b0a077072696d61727910001a0269641a067365637265741a0a65787069726174696f6e2001200220032800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89b28a89","value":"030a8f280a1473746174656d656e745f73746174697374696373182a200128013a0042330a0d616767726567617465645f747310011a0d080910001800300050a00960002000300068007000780080010088010098010042330a0e66696e6765727072696e745f696410021a0c08081000180030005011600020003000680070007800800100880100980100423f0a1a7472616e73616374696f6e5f66696e6765727072696e745f696410031a0c08081000180030005011600020003000680070007800800100880100980100422e0a09706c616e5f6861736810041a0c08081000180030005011600020003000680070007800800100880100980100422d0a086170705f6e616d6510051a0c08071000180030005019600020003000680070007800800100880100980100422c0a076e6f64655f696410061a0c0801104018003000501460002000300068007000780080010088010098010042380a0c6167675f696e74657276616c10071a13080610001800300050a20960006a040800100020003000680070007800800100880100980100422e0a086d6574616461746110081a0d081210001800300050da1d60002000300068007000780080010088010098010042300a0a7374617469737469637310091a0d081210001800300050da1d600020003000680070007800800100880100980100422a0a04706c616e100a1a0d081210001800300050da1d600020003000680070007800800100880100980100429c020a68637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f38100b1a0c080110201800300050176000200030015a8c016d6f6428666e76333228637264625f696e7465726e616c2e646174756d735f746f5f627974657328616767726567617465645f74732c206170705f6e616d652c2066696e6765727072696e745f69642c206e6f64655f69642c20706c616e5f686173682c207472616e73616374696f6e5f66696e6765727072696e745f696429292c20383a3a3a494e543829680070007800800100880100980100425f0a15696e6465785f7265636f6d6d656e646174696f6e73100c1a1d080f100018003000380750f1075a0c080710001800300050196000600020002a1241525241595b5d3a3a3a535452494e475b5d3000680070007800800100880100980100426c0a0d696e64657865735f7573616765100d1a0d081210001800300050da1d6000200130005a3728737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e27696e6465786573273a3a3a535452494e4768007000780080010188010098010042710a0f657865637574696f6e5f636f756e74100e1a0c080110401800300050146000200130005a3b2828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e27636e74273a3a3a535452494e47293a3a494e5438680070007800800100880100980100428a010a0f736572766963655f6c6174656e6379100f1a0d080210401800300050bd056000200130005a53282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e277376634c6174273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f4154386800700078008001008801009801004297010a0d6370755f73716c5f6e616e6f7310101a0d080210401800300050bd056000200130005a62282828737461746973746963732d3e27657865637574696f6e5f73746174697374696373273a3a3a535452494e47292d3e2763707553514c4e616e6f73273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100429c010a0f636f6e74656e74696f6e5f74696d6510111a0d080210401800300050bd056000200130005a65282828737461746973746963732d3e27657865637574696f6e5f73746174697374696373273a3a3a535452494e47292d3e27636f6e74656e74696f6e54696d65273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f41543868007000780080010088010098010042dc010a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d6510121a0d080210401800300050bd056000200130005a95012828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e3e27636e74273a3a3a535452494e47293a3a464c4f415438202a20282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e277376634c6174273a3a3a535452494e47292d3e3e276d65616e273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100428a010a0b7039395f6c6174656e637910131a0d080210401800300050bd056000200130005a57282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e276c6174656e6379496e666f273a3a3a535452494e47292d3e27703939273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100481452c2050a077072696d617279100118012268637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f38220d616767726567617465645f7473220e66696e6765727072696e745f6964221a7472616e73616374696f6e5f66696e6765727072696e745f69642209706c616e5f6861736822086170705f6e616d6522076e6f64655f69642a0c6167675f696e74657276616c2a086d657461646174612a0a737461746973746963732a04706c616e2a15696e6465785f7265636f6d6d656e646174696f6e732a0f657865637574696f6e5f636f756e742a0f736572766963655f6c6174656e63792a0d6370755f73716c5f6e616e6f732a0f636f6e74656e74696f6e5f74696d652a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d652a0b7039395f6c6174656e6379300b30013002300330043005300640004000400040004000400040004a10080010001a00200028003000380040005a00700770087009700a700c700e700f70107011701270137a0408002000800100880100900104980101a201c70108011268637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f381808220d616767726567617465645f747322086170705f6e616d65220e66696e6765727072696e745f696422076e6f64655f69642209706c616e5f68617368221a7472616e73616374696f6e5f66696e6765727072696e745f6964a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005aa7010a1566696e6765727072696e745f73746174735f69647810021800220e66696e6765727072696e745f6964221a7472616e73616374696f6e5f66696e6765727072696e745f696430023003380b3801380438053806400040004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a89010a11696e64657865735f75736167655f69647810031800220d696e64657865735f7573616765300d380b38013802380338043805380640004a10080010001a00200028003000380040005a007a0408002000800101880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100d80100e00100e90100000000000000005acf010a13657865637574696f6e5f636f756e745f69647810041800220d616767726567617465645f747322086170705f6e616d65220f657865637574696f6e5f636f756e7430013005300e380b38023803380438064000400040014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e90100000000000000005ad1010a13736572766963655f6c6174656e63795f69647810051800220d616767726567617465645f747322086170705f6e616d65220f736572766963655f6c6174656e637930013005300f380b38023803380438064000400040014a10080010001a00200028003000380040005a00680f7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e90100000000000000005acd010a116370755f73716c5f6e616e6f735f69647810061800220d616767726567617465645f747322086170705f6e616d65220d6370755f73716c5f6e616e6f73300130053010380b38023803380438064000400040014a10080010001a00200028003000380040005a0068107a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e90100000000000000005ad1010a13636f6e74656e74696f6e5f74696d655f69647810071800220d616767726567617465645f747322086170705f6e616d65220f636f6e74656e74696f6e5f74696d65300130053011380b38023803380438064000400040014a10080010001a00200028003000380040005a0068117a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e90100000000000000005aef010a22746f74616c5f657374696d617465645f657865637574696f6e5f74696d655f69647810081800220d616767726567617465645f747322086170705f6e616d65221e746f74616c5f657374696d617465645f657865637574696f6e5f74696d65300130053012380b38023803380438064000400040014a10080010001a00200028003000380040005a0068127a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e90100000000000000005ac9010a0f7039395f6c6174656e63795f69647810091800220d616767726567617465645f747322086170705f6e616d65220b7039395f6c6174656e6379300130053013380b38023803380438064000400040014a10080010001a00200028003000380040005a0068137a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e9010000000000000000600a6a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800101880103980100a201b9020abc01637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f3820494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e543829126e636865636b5f637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f381800280b300038014002b201a4030a077072696d61727910001a68637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f381a0d616767726567617465645f74731a0e66696e6765727072696e745f69641a1a7472616e73616374696f6e5f66696e6765727072696e745f69641a09706c616e5f686173681a086170705f6e616d651a076e6f64655f69641a0c6167675f696e74657276616c1a086d657461646174611a0a737461746973746963731a04706c616e1a15696e6465785f7265636f6d6d656e646174696f6e731a0f657865637574696f6e5f636f756e741a0f736572766963655f6c6174656e63791a0d6370755f73716c5f6e616e6f731a0f636f6e74656e74696f6e5f74696d651a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d651a0b7039395f6c6174656e6379200b200120022003200420052006200720082009200a200c200e200f20102011201220132800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89b38a89","value":"030a95200a167472616e73616374696f6e5f73746174697374696373182b200128013a0042330a0d616767726567617465645f747310011a0d080910001800300050a00960002000300068007000780080010088010098010042330a0e66696e6765727072696e745f696410021a0c08081000180030005011600020003000680070007800800100880100980100422d0a086170705f6e616d6510031a0c08071000180030005019600020003000680070007800800100880100980100422c0a076e6f64655f696410041a0c0801104018003000501460002000300068007000780080010088010098010042380a0c6167675f696e74657276616c10051a13080610001800300050a20960006a040800100020003000680070007800800100880100980100422e0a086d6574616461746110061a0d081210001800300050da1d60002000300068007000780080010088010098010042300a0a7374617469737469637310071a0d081210001800300050da1d60002000300068007000780080010088010098010042cf010a43637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f3810081a0c080110201800300050176000200030015a656d6f6428666e76333228637264625f696e7465726e616c2e646174756d735f746f5f627974657328616767726567617465645f74732c206170705f6e616d652c2066696e6765727072696e745f69642c206e6f64655f696429292c20383a3a3a494e54382968007000780080010088010098010042710a0f657865637574696f6e5f636f756e7410091a0c080110401800300050146000200130005a3b2828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e27636e74273a3a3a535452494e47293a3a494e5438680070007800800100880100980100428a010a0f736572766963655f6c6174656e6379100a1a0d080210401800300050bd056000200130005a53282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e277376634c6174273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f4154386800700078008001008801009801004297010a0d6370755f73716c5f6e616e6f73100b1a0d080210401800300050bd056000200130005a62282828737461746973746963732d3e27657865637574696f6e5f73746174697374696373273a3a3a535452494e47292d3e2763707553514c4e616e6f73273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100429c010a0f636f6e74656e74696f6e5f74696d65100c1a0d080210401800300050bd056000200130005a65282828737461746973746963732d3e27657865637574696f6e5f73746174697374696373273a3a3a535452494e47292d3e27636f6e74656e74696f6e54696d65273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f41543868007000780080010088010098010042dc010a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d65100d1a0d080210401800300050bd056000200130005a95012828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e3e27636e74273a3a3a535452494e47293a3a464c4f415438202a20282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e277376634c6174273a3a3a535452494e47292d3e3e276d65616e273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100428a010a0b7039395f6c6174656e6379100e1a0d080210401800300050bd056000200130005a57282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e276c6174656e6379496e666f273a3a3a535452494e47292d3e27703939273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100480f5280040a077072696d617279100118012243637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f38220d616767726567617465645f7473220e66696e6765727072696e745f696422086170705f6e616d6522076e6f64655f69642a0c6167675f696e74657276616c2a086d657461646174612a0a737461746973746963732a0f657865637574696f6e5f636f756e742a0f736572766963655f6c6174656e63792a0d6370755f73716c5f6e616e6f732a0f636f6e74656e74696f6e5f74696d652a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d652a0b7039395f6c6174656e637930083001300230033004400040004000400040004a10080010001a00200028003000380040005a007005700670077009700a700b700c700d700e7a0408002000800100880100900104980101a2017b08011243637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f381808220d616767726567617465645f747322086170705f6e616d65220e66696e6765727072696e745f696422076e6f64655f6964a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a85010a1566696e6765727072696e745f73746174735f69647810021800220e66696e6765727072696e745f69643002380838013803380440004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005acb010a13657865637574696f6e5f636f756e745f69647810031800220d616767726567617465645f747322086170705f6e616d65220f657865637574696f6e5f636f756e743001300330093808380238044000400040014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e90100000000000000005acd010a13736572766963655f6c6174656e63795f69647810041800220d616767726567617465645f747322086170705f6e616d65220f736572766963655f6c6174656e637930013003300a3808380238044000400040014a10080010001a00200028003000380040005a00680a7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e90100000000000000005ac9010a116370755f73716c5f6e616e6f735f69647810051800220d616767726567617465645f747322086170705f6e616d65220d6370755f73716c5f6e616e6f7330013003300b3808380238044000400040014a10080010001a00200028003000380040005a00680b7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e90100000000000000005acd010a13636f6e74656e74696f6e5f74696d655f69647810061800220d616767726567617465645f747322086170705f6e616d65220f636f6e74656e74696f6e5f74696d6530013003300c3808380238044000400040014a10080010001a00200028003000380040005a00680c7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e90100000000000000005aeb010a22746f74616c5f657374696d617465645f657865637574696f6e5f74696d655f69647810071800220d616767726567617465645f747322086170705f6e616d65221e746f74616c5f657374696d617465645f657865637574696f6e5f74696d6530013003300d3808380238044000400040014a10080010001a00200028003000380040005a00680d7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e90100000000000000005ac5010a0f7039395f6c6174656e63795f69647810081800220d616767726567617465645f747322086170705f6e616d65220b7039395f6c6174656e637930013003300e3808380238044000400040014a10080010001a00200028003000380040005a00680e7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e901000000000000000060096a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800101880103980100a201ef010a9701637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f3820494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e5438291249636865636b5f637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f3818002808300038014002b201b3020a077072696d61727910001a43637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f381a0d616767726567617465645f74731a0e66696e6765727072696e745f69641a086170705f6e616d651a076e6f64655f69641a0c6167675f696e74657276616c1a086d657461646174611a0a737461746973746963731a0f657865637574696f6e5f636f756e741a0f736572766963655f6c6174656e63791a0d6370755f73716c5f6e616e6f731a0f636f6e74656e74696f6e5f74696d651a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d651a0b7039395f6c6174656e6379200820012002200320042005200620072009200a200b200c200d200e2800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89b48a89","value":"030af3050a1664617461626173655f726f6c655f73657474696e6773182c200128013a0042300a0b64617461626173655f696410011a0c080c100018003000501a600020003000680070007800800100880100980100422e0a09726f6c655f6e616d6510021a0c08071000180030005019600020003000680070007800800100880100980100423e0a0873657474696e677310031a1d080f100018003000380750f1075a0c080710001800300050196000600020003000680070007800800100880100980100422c0a07726f6c655f696410041a0c080c100018003000501a60002000300068007000780080010088010098010048055292010a077072696d61727910011801220b64617461626173655f69642209726f6c655f6e616d652a0873657474696e67732a07726f6c655f696430013002400040004a10080010001a00200028003000380040005a00700370047a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00102e00100e90100000000000000005aae010a2e64617461626173655f726f6c655f73657474696e67735f64617461626173655f69645f726f6c655f69645f6b657910021801220b64617461626173655f69642207726f6c655f69642a0873657474696e6773300130043802400040004a10080010001a00200028003000380040005a0070037a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201400a077072696d61727910001a0b64617461626173655f69641a09726f6c655f6e616d651a0873657474696e67731a07726f6c655f696420012002200320042800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89b58a89","value":"030ac00b0a0c74656e616e745f7573616765182d200128013a00422e0a0974656e616e745f696410011a0c0801104018003000501460002000300068007000780080010088010098010042300a0b696e7374616e63655f696410021a0c0801104018003000501460002000300068007000780080010088010098010042350a106e6578745f696e7374616e63655f696410031a0c0801104018003000501460002000300068007000780080010088010098010042310a0b6c6173745f75706461746510041a0d080510001800300050da0860002000300068007000780080010088010098010042340a0e72755f62757273745f6c696d697410051a0d080210401800300050bd0560002001300068007000780080010088010098010042340a0e72755f726566696c6c5f7261746510061a0d080210401800300050bd0560002001300068007000780080010088010098010042300a0a72755f63757272656e7410071a0d080210401800300050bd0560002001300068007000780080010088010098010042370a1163757272656e745f73686172655f73756d10081a0d080210401800300050bd0560002001300068007000780080010088010098010042360a11746f74616c5f636f6e73756d7074696f6e10091a0c0808100018003000501160002001300068007000780080010088010098010042330a0e696e7374616e63655f6c65617365100a1a0c0808100018003000501160002001300068007000780080010088010098010042310a0c696e7374616e63655f736571100b1a0c0801104018003000501460002001300068007000780080010088010098010042350a0f696e7374616e63655f736861726573100c1a0d080210401800300050bd0560002001300068007000780080010088010098010042320a0d63757272656e745f7261746573100d1a0c08081000180030005011600020013000680070007800800100880100980100422f0a0a6e6578745f7261746573100e1a0c08081000180030005011600020013000680070007800800100880100980100480f52ce020a077072696d61727910011801220974656e616e745f6964220b696e7374616e63655f69642a106e6578745f696e7374616e63655f69642a0b6c6173745f7570646174652a0e72755f62757273745f6c696d69742a0e72755f726566696c6c5f726174652a0a72755f63757272656e742a1163757272656e745f73686172655f73756d2a11746f74616c5f636f6e73756d7074696f6e2a0e696e7374616e63655f6c656173652a0c696e7374616e63655f7365712a0f696e7374616e63655f7368617265732a0d63757272656e745f72617465732a0a6e6578745f726174657330013002400040004a10080010001a00200028003000380040005a007003700470057006700770087009700a700b700c700d700e7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201fc010a077072696d61727910001a0974656e616e745f69641a0b696e7374616e63655f69641a106e6578745f696e7374616e63655f69641a0b6c6173745f7570646174651a0e72755f62757273745f6c696d69741a0e72755f726566696c6c5f726174651a0a72755f63757272656e741a1163757272656e745f73686172655f73756d1a11746f74616c5f636f6e73756d7074696f6e1a0e696e7374616e63655f6c656173651a0c696e7374616e63655f7365711a0f696e7374616e63655f7368617265731a0d63757272656e745f72617465731a0a6e6578745f7261746573200120022003200420052006200720082009200a200b200c200d200e2800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800301880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89b68a89","value":"030ac8060a0d73716c5f696e7374616e636573182e200128013a0042270a02696410011a0c0801104018003000501460002000300068007000780080010088010098010042290a046164647210021a0c08071000180030005019600020013000680070007800800100880100980100422f0a0a73657373696f6e5f696410031a0c08081000180030005011600020013000680070007800800100880100980100422e0a086c6f63616c69747910041a0d081210001800300050da1d600020013000680070007800800100880100980100422d0a0873716c5f6164647210051a0c0807100018003000501960002001300068007000780080010088010098010042300a0b637264625f726567696f6e10061a0c0808100018003000501160002000300068007000780080010088010098010042330a0e62696e6172795f76657273696f6e10071a0c0807100018003000501960002001300068007000780080010088010098010042300a0b69735f647261696e696e6710081a0c08001000180030005010600020013000680070007800800100880100980100480952c3010a077072696d61727910021801220b637264625f726567696f6e220269642a04616464722a0a73657373696f6e5f69642a086c6f63616c6974792a0873716c5f616464722a0e62696e6172795f76657273696f6e2a0b69735f647261696e696e6730063001400040004a10080010001a00200028003000380040005a007002700370047005700770087a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201710a077072696d61727910001a0269641a04616464721a0a73657373696f6e5f69641a086c6f63616c6974791a0873716c5f616464721a0b637264625f726567696f6e1a0e62696e6172795f76657273696f6e1a0b69735f647261696e696e67200120022003200420052006200720082800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89b78a89","value":"030a87040a137370616e5f636f6e66696775726174696f6e73182f200128013a00422e0a0973746172745f6b657910011a0c08081000180030005011600020003000680070007800800100880100980100422c0a07656e645f6b657910021a0c08081000180030005011600020003000680070007800800100880100980100422b0a06636f6e66696710031a0c080810001800300050116000200030006800700078008001008801009801004804527f0a077072696d61727910011801220973746172745f6b65792a07656e645f6b65792a06636f6e666967300140004a10080010001a00200028003000380040005a00700270037a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100a2012f0a1373746172745f6b6579203c20656e645f6b6579120c636865636b5f626f756e6473180028012802300038004002b2012f0a077072696d61727910001a0973746172745f6b65791a07656e645f6b65791a06636f6e6669672001200220032800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800301880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89b88a89","value":"030ad9020a0b726f6c655f69645f7365711830200128013a00422a0a0576616c756510011a0c08011040180030005014600020003000680070007800800100880100980100480052660a077072696d61727910011800220576616c7565300140004a10080010001a00200028003000380040005a007a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060006a250a0d0a0561646d696e10a00618a0060a0c0a04726f6f7410a00618a00612046e6f64651803800100880103980100b201160a077072696d61727910001a0576616c756520012801b80100c20100e2011a0801106418ffffffff0720642800320408001000380142004800e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880300a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89ba8a89","value":"030af0050a0f74656e616e745f73657474696e67731832200128013a00422e0a0974656e616e745f696410011a0c0801104018003000501460002000300068007000780080010088010098010042290a046e616d6510021a0c08071000180030005019600020003000680070007800800100880100980100422a0a0576616c756510031a0c0807100018003000501960002000300068007000780080010088010098010042450a0c6c6173745f7570646174656410041a0d080510001800300050da08600020002a116e6f7728293a3a3a54494d455354414d503000680070007800800100880100980100422f0a0a76616c75655f7479706510051a0c08071000180030005019600020003000680070007800800100880100980100422b0a06726561736f6e10061a0c08071000180030005019600020013000680070007800800100880100980100480752a5010a077072696d61727910011801220974656e616e745f696422046e616d652a0576616c75652a0c6c6173745f757064617465642a0a76616c75655f747970652a06726561736f6e30013002400040004a10080010001a00200028003000380040005a0070037004700570067a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b20185010a3966616d5f305f74656e616e745f69645f6e616d655f76616c75655f6c6173745f757064617465645f76616c75655f747970655f726561736f6e10001a0974656e616e745f69641a046e616d651a0576616c75651a0c6c6173745f757064617465641a0a76616c75655f747970651a06726561736f6e2001200220032004200520062800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89bb8a89","value":"030abe030a0a7370616e5f636f756e741833200128013a0042340a0973696e676c65746f6e10011a0c08001000180030005010600020002a04747275653000680070007800800100880100980100422f0a0a7370616e5f636f756e7410021a0c08011040180030005014600020003000680070007800800100880100980100480352780a077072696d61727910011801220973696e676c65746f6e2a0a7370616e5f636f756e74300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100a201210a0973696e676c65746f6e120a73696e676c655f726f7718002801300038004002b201280a077072696d61727910001a0973696e676c65746f6e1a0a7370616e5f636f756e74200120022802b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89bc8a89","value":"030adf070a0a70726976696c656765731834200128013a00422d0a08757365726e616d6510011a0c0807100018003000501960002000300068007000780080010088010098010042290a047061746810021a0c0807100018003000501960002000300068007000780080010088010098010042400a0a70726976696c6567657310031a1d080f100018003000380750f1075a0c08071000180030005019600060002000300068007000780080010088010098010042430a0d6772616e745f6f7074696f6e7310041a1d080f100018003000380750f1075a0c080710001800300050196000600020003000680070007800800100880100980100422c0a07757365725f696410051a0c080c100018003000501a6000200030006800700078008001008801009801004806529d010a077072696d617279100118012208757365726e616d652204706174682a0a70726976696c656765732a0d6772616e745f6f7074696f6e732a07757365725f696430013002400040004a10080010001a00200028003000380040005a007003700470057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00103e00100e90100000000000000005aa7010a1b70726976696c656765735f706174685f757365725f69645f6b6579100218012204706174682207757365725f69642a0a70726976696c656765732a0d6772616e745f6f7074696f6e73300230053801400040004a10080010001a00200028003000380040005a00700370047a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005aa7010a1c70726976696c656765735f706174685f757365726e616d655f6b6579100318012204706174682208757365726e616d652a0a70726976696c656765732a0d6772616e745f6f7074696f6e7330023001400040004a10080010001a00200028003000380040005a00700370047a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00102e00100e901000000000000000060046a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2014b0a077072696d61727910001a08757365726e616d651a04706174681a0a70726976696c656765731a0d6772616e745f6f7074696f6e731a07757365725f6964200120022003200420052800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880304a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89bd8a89","value":"030ada060a1465787465726e616c5f636f6e6e656374696f6e731835200128013a0042340a0f636f6e6e656374696f6e5f6e616d6510011a0c0807100018003000501960002000300068007000780080010088010098010042400a076372656174656410021a0d080510001800300050da08600020002a116e6f7728293a3a3a54494d455354414d50300068007000780080010088010098010042400a077570646174656410031a0d080510001800300050da08600020002a116e6f7728293a3a3a54494d455354414d50300068007000780080010088010098010042340a0f636f6e6e656374696f6e5f7479706510041a0c0807100018003000501960002000300068007000780080010088010098010042370a12636f6e6e656374696f6e5f64657461696c7310051a0c08081000180030005011600020003000680070007800800100880100980100422a0a056f776e657210061a0c08071000180030005019600020003000680070007800800100880100980100422d0a086f776e65725f696410071a0c080c100018003000501a600020003000680070007800800100880100980100480852c4010a077072696d61727910011801220f636f6e6e656374696f6e5f6e616d652a07637265617465642a07757064617465642a0f636f6e6e656374696f6e5f747970652a12636f6e6e656374696f6e5f64657461696c732a056f776e65722a086f776e65725f6964300140004a10080010001a00200028003000380040005a007002700370047005700670077a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201740a077072696d61727910001a0f636f6e6e656374696f6e5f6e616d651a07637265617465641a07757064617465641a0f636f6e6e656374696f6e5f747970651a12636f6e6e656374696f6e5f64657461696c731a056f776e65721a086f776e65725f696420012002200320042005200620072800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89be8a89","value":"030aa0040a086a6f625f696e666f1836200128013a00422b0a066a6f625f696410011a0c08011040180030005014600020003000680070007800800100880100980100422d0a08696e666f5f6b657910021a0c0807100018003000501960002000300068007000780080010088010098010042420a077772697474656e10031a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a3000680070007800800100880100980100422a0a0576616c756510041a0c080810001800300050116000200130006800700078008001008801009801004805528b010a077072696d6172791001180122066a6f625f69642208696e666f5f6b657922077772697474656e2a0576616c75653001300230034000400040014a10080010001a00200028003000380040005a0070047a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201370a077072696d61727910001a066a6f625f69641a08696e666f5f6b65791a077772697474656e1a0576616c756520012002200320042804b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89bf8a89","value":"030a9c040a167370616e5f73746174735f756e697175655f6b6579731837200128013a00423b0a02696410011a0d080e100018003000508617600020002a1167656e5f72616e646f6d5f7575696428293000680070007800800100880100980100422e0a096b65795f627974657310021a0c08081000180030005011600020013000680070007800800100880100980100480352700a077072696d61727910011801220269642a096b65795f6279746573300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00102e00100e90100000000000000005a7e0a19756e697175655f6b6579735f6b65795f62797465735f6964781002180122096b65795f62797465733002380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201200a077072696d61727910001a0269641a096b65795f6279746573200120022802b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89c08a89","value":"030aff050a127370616e5f73746174735f6275636b6574731838200128013a00423b0a02696410011a0d080e100018003000508617600020002a1167656e5f72616e646f6d5f7575696428293000680070007800800100880100980100422f0a0973616d706c655f696410021a0d080e10001800300050861760002000300068007000780080010088010098010042320a0c73746172745f6b65795f696410031a0d080e10001800300050861760002000300068007000780080010088010098010042300a0a656e645f6b65795f696410041a0d080e100018003000508617600020003000680070007800800100880100980100422d0a08726571756573747310051a0c080110401800300050146000200030006800700078008001008801009801004806529a010a077072696d61727910011801220269642a0973616d706c655f69642a0c73746172745f6b65795f69642a0a656e645f6b65795f69642a087265717565737473300140004a10080010001a00200028003000380040005a0070027003700470057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a7a0a156275636b6574735f73616d706c655f69645f69647810021800220973616d706c655f69643002380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2014a0a077072696d61727910001a0269641a0973616d706c655f69641a0c73746172745f6b65795f69641a0a656e645f6b65795f69641a087265717565737473200120022003200420052800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89c18a89","value":"030ab2040a127370616e5f73746174735f73616d706c65731839200128013a00423b0a02696410011a0d080e100018003000508617600020002a1167656e5f72616e646f6d5f757569642829300068007000780080010088010098010042440a0b73616d706c655f74696d6510021a0d080510001800300050da08600020002a116e6f7728293a3a3a54494d455354414d503000680070007800800100880100980100480352720a077072696d61727910011801220269642a0b73616d706c655f74696d65300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00102e00100e90100000000000000005a7e0a1773616d706c65735f73616d706c655f74696d655f69647810021801220b73616d706c655f74696d653002380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201220a077072696d61727910001a0269641a0b73616d706c655f74696d65200120022802b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89c28a89","value":"030aa6030a1c7370616e5f73746174735f74656e616e745f626f756e646172696573183a200128013a00422e0a0974656e616e745f696410011a0c08011040180030005014600020003000680070007800800100880100980100422f0a0a626f756e64617269657310021a0c08081000180030005011600020003000680070007800800100880100980100480352780a077072696d61727910011801220974656e616e745f69642a0a626f756e646172696573300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201280a077072696d61727910001a0974656e616e745f69641a0a626f756e646172696573200120022802b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89c38a89","value":"030aae060a0d7461736b5f7061796c6f616473183b200128013a0042270a02696410011a0c0807100018003000501960002000300068007000780080010088010098010042420a076372656174656410021a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a3000680070007800800100880100980100422a0a056f776e657210031a0c08071000180030005019600020003000680070007800800100880100980100422d0a086f776e65725f696410041a0c080c100018003000501a60002000300068007000780080010088010098010042300a0b6d696e5f76657273696f6e10051a0c0807100018003000501960002000300068007000780080010088010098010042300a0b6465736372697074696f6e10061a0c0807100018003000501960002001300068007000780080010088010098010042290a047479706510071a0c08071000180030005019600020003000680070007800800100880100980100422a0a0576616c756510081a0c08081000180030005011600020003000680070007800800100880100980100480952b2010a077072696d61727910011801220269642a07637265617465642a056f776e65722a086f776e65725f69642a0b6d696e5f76657273696f6e2a0b6465736372697074696f6e2a04747970652a0576616c7565300140004a10080010001a00200028003000380040005a0070027003700470057006700770087a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201620a077072696d61727910001a0269641a07637265617465641a056f776e65721a086f776e65725f69641a0b6d696e5f76657273696f6e1a0b6465736372697074696f6e1a04747970651a0576616c7565200120022003200420052006200720082800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89c48a89","value":"030aff050a0c74656e616e745f7461736b73183c200128013a00422e0a0974656e616e745f696410011a0c08011040180030005014600020003000680070007800800100880100980100422b0a0669737375657210021a0c08071000180030005019600020003000680070007800800100880100980100422c0a077461736b5f696410031a0c0801104018003000501460002000300068007000780080010088010098010042420a076372656174656410041a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a3000680070007800800100880100980100422f0a0a7061796c6f61645f696410051a0c08071000180030005019600020003000680070007800800100880100980100422a0a056f776e657210061a0c08071000180030005019600020003000680070007800800100880100980100422d0a086f776e65725f696410071a0c080c100018003000501a600020003000680070007800800100880100980100480852b1010a077072696d61727910011801220974656e616e745f6964220669737375657222077461736b5f69642a07637265617465642a0a7061796c6f61645f69642a056f776e65722a086f776e65725f69643001300230034000400040004a10080010001a00200028003000380040005a0070047005700670077a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2015d0a077072696d61727910001a0974656e616e745f69641a066973737565721a077461736b5f69641a07637265617465641a0a7061796c6f61645f69641a056f776e65721a086f776e65725f696420012002200320042005200620072800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89c58a89","value":"030af1180a1273746174656d656e745f6163746976697479183d200128013a0042330a0d616767726567617465645f747310011a0d080910001800300050a00960002000300068007000780080010088010098010042330a0e66696e6765727072696e745f696410021a0c08081000180030005011600020003000680070007800800100880100980100423f0a1a7472616e73616374696f6e5f66696e6765727072696e745f696410031a0c08081000180030005011600020003000680070007800800100880100980100422e0a09706c616e5f6861736810041a0c08081000180030005011600020003000680070007800800100880100980100422d0a086170705f6e616d6510051a0c0807100018003000501960002000300068007000780080010088010098010042380a0c6167675f696e74657276616c10061a13080610001800300050a20960006a040800100020003000680070007800800100880100980100422e0a086d6574616461746110071a0d081210001800300050da1d60002000300068007000780080010088010098010042300a0a7374617469737469637310081a0d081210001800300050da1d600020003000680070007800800100880100980100422a0a04706c616e10091a0d081210001800300050da1d600020003000680070007800800100880100980100425f0a15696e6465785f7265636f6d6d656e646174696f6e73100a1a1d080f100018003000380750f1075a0c080710001800300050196000600020002a1241525241595b5d3a3a3a535452494e475b5d300068007000780080010088010098010042340a0f657865637574696f6e5f636f756e74100b1a0c08011040180030005014600020003000680070007800800100880100980100423d0a17657865637574696f6e5f746f74616c5f7365636f6e6473100c1a0d080210401800300050bd0560002000300068007000780080010088010098010042450a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e6473100d1a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e6473100e1a0d080210401800300050bd0560002000300068007000780080010088010098010042370a116370755f73716c5f6176675f6e616e6f73100f1a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b736572766963655f6c6174656e63795f6176675f7365636f6e647310101a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b736572766963655f6c6174656e63795f7039395f7365636f6e647310111a0d080210401800300050bd05600020003000680070007800800100880100980100481252cd030a077072696d61727910011801220d616767726567617465645f7473220e66696e6765727072696e745f6964221a7472616e73616374696f6e5f66696e6765727072696e745f69642209706c616e5f6861736822086170705f6e616d652a0c6167675f696e74657276616c2a086d657461646174612a0a737461746973746963732a04706c616e2a15696e6465785f7265636f6d6d656e646174696f6e732a0f657865637574696f6e5f636f756e742a17657865637574696f6e5f746f74616c5f7365636f6e64732a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e64732a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64732a116370755f73716c5f6176675f6e616e6f732a1b736572766963655f6c6174656e63795f6176675f7365636f6e64732a1b736572766963655f6c6174656e63795f7039395f7365636f6e647330013002300330043005400040004000400040004a10080010001a00200028003000380040005a007006700770087009700a700b700c700d700e700f701070117a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005aa0010a1266696e6765727072696e745f69645f69647810021800220e66696e6765727072696e745f6964221a7472616e73616374696f6e5f66696e6765727072696e745f696430023003380138043805400040004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a97010a13657865637574696f6e5f636f756e745f69647810031800220d616767726567617465645f7473220f657865637574696f6e5f636f756e743001300b3802380338043805400040014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aa9010a1b657865637574696f6e5f746f74616c5f7365636f6e64735f69647810041800220d616767726567617465645f74732217657865637574696f6e5f746f74616c5f7365636f6e64733001300c3802380338043805400040014a10080010001a00200028003000380040005a00680c7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ab1010a1f636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64735f69647810051800220d616767726567617465645f7473221b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64733001300e3802380338043805400040014a10080010001a00200028003000380040005a00680e7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a9d010a156370755f73716c5f6176675f6e616e6f735f69647810061800220d616767726567617465645f747322116370755f73716c5f6176675f6e616e6f733001300f3802380338043805400040014a10080010001a00200028003000380040005a00680f7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ab1010a1f736572766963655f6c6174656e63795f6176675f7365636f6e64735f69647810071800220d616767726567617465645f7473221b736572766963655f6c6174656e63795f6176675f7365636f6e6473300130103802380338043805400040014a10080010001a00200028003000380040005a0068107a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ab1010a1f736572766963655f6c6174656e63795f7039395f7365636f6e64735f69647810081800220d616767726567617465645f7473221b736572766963655f6c6174656e63795f7039395f7365636f6e6473300130113802380338043805400040014a10080010001a00200028003000380040005a0068117a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060096a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800101880103980100b201f5020a077072696d61727910001a0d616767726567617465645f74731a0e66696e6765727072696e745f69641a1a7472616e73616374696f6e5f66696e6765727072696e745f69641a09706c616e5f686173681a086170705f6e616d651a0c6167675f696e74657276616c1a086d657461646174611a0a737461746973746963731a04706c616e1a15696e6465785f7265636f6d6d656e646174696f6e731a0f657865637574696f6e5f636f756e741a17657865637574696f6e5f746f74616c5f7365636f6e64731a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e64731a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64731a116370755f73716c5f6176675f6e616e6f731a1b736572766963655f6c6174656e63795f6176675f7365636f6e64731a1b736572766963655f6c6174656e63795f7039395f7365636f6e6473200120022003200420052006200720082009200a200b200c200d200e200f201020112800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89c68a89","value":"030adc150a147472616e73616374696f6e5f6163746976697479183e200128013a0042330a0d616767726567617465645f747310011a0d080910001800300050a00960002000300068007000780080010088010098010042330a0e66696e6765727072696e745f696410021a0c08081000180030005011600020003000680070007800800100880100980100422d0a086170705f6e616d6510031a0c0807100018003000501960002000300068007000780080010088010098010042380a0c6167675f696e74657276616c10041a13080610001800300050a20960006a040800100020003000680070007800800100880100980100422e0a086d6574616461746110051a0d081210001800300050da1d60002000300068007000780080010088010098010042300a0a7374617469737469637310061a0d081210001800300050da1d600020003000680070007800800100880100980100422a0a05717565727910071a0c0807100018003000501960002000300068007000780080010088010098010042340a0f657865637574696f6e5f636f756e7410081a0c08011040180030005014600020003000680070007800800100880100980100423d0a17657865637574696f6e5f746f74616c5f7365636f6e647310091a0d080210401800300050bd0560002000300068007000780080010088010098010042450a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e6473100a1a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e6473100b1a0d080210401800300050bd0560002000300068007000780080010088010098010042370a116370755f73716c5f6176675f6e616e6f73100c1a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b736572766963655f6c6174656e63795f6176675f7365636f6e6473100d1a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b736572766963655f6c6174656e63795f7039395f7365636f6e6473100e1a0d080210401800300050bd05600020003000680070007800800100880100980100480f5286030a077072696d61727910011801220d616767726567617465645f7473220e66696e6765727072696e745f696422086170705f6e616d652a0c6167675f696e74657276616c2a086d657461646174612a0a737461746973746963732a0571756572792a0f657865637574696f6e5f636f756e742a17657865637574696f6e5f746f74616c5f7365636f6e64732a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e64732a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64732a116370755f73716c5f6176675f6e616e6f732a1b736572766963655f6c6174656e63795f6176675f7365636f6e64732a1b736572766963655f6c6174656e63795f7039395f7365636f6e64733001300230034000400040004a10080010001a00200028003000380040005a00700470057006700770087009700a700b700c700d700e7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a7e0a1266696e6765727072696e745f69645f69647810021800220e66696e6765727072696e745f696430023801380340004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a93010a13657865637574696f6e5f636f756e745f69647810031800220d616767726567617465645f7473220f657865637574696f6e5f636f756e743001300838023803400040014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aa5010a1b657865637574696f6e5f746f74616c5f7365636f6e64735f69647810041800220d616767726567617465645f74732217657865637574696f6e5f746f74616c5f7365636f6e64733001300938023803400040014a10080010001a00200028003000380040005a0068097a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aad010a1f636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64735f69647810051800220d616767726567617465645f7473221b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64733001300b38023803400040014a10080010001a00200028003000380040005a00680b7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a99010a156370755f73716c5f6176675f6e616e6f735f69647810061800220d616767726567617465645f747322116370755f73716c5f6176675f6e616e6f733001300c38023803400040014a10080010001a00200028003000380040005a00680c7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aad010a1f736572766963655f6c6174656e63795f6176675f7365636f6e64735f69647810071800220d616767726567617465645f7473221b736572766963655f6c6174656e63795f6176675f7365636f6e64733001300d38023803400040014a10080010001a00200028003000380040005a00680d7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aad010a1f736572766963655f6c6174656e63795f7039395f7365636f6e64735f69647810081800220d616767726567617465645f7473221b736572766963655f6c6174656e63795f7039395f7365636f6e64733001300e38023803400040014a10080010001a00200028003000380040005a00680e7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060096a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800101880103980100b201b2020a077072696d61727910001a0d616767726567617465645f74731a0e66696e6765727072696e745f69641a086170705f6e616d651a0c6167675f696e74657276616c1a086d657461646174611a0a737461746973746963731a0571756572791a0f657865637574696f6e5f636f756e741a17657865637574696f6e5f746f74616c5f7365636f6e64731a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e64731a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64731a116370755f73716c5f6176675f6e616e6f731a1b736572766963655f6c6174656e63795f6176675f7365636f6e64731a1b736572766963655f6c6174656e63795f7039395f7365636f6e6473200120022003200420052006200720082009200a200b200c200d200e2800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89c78a89","value":"030adb020a0d74656e616e745f69645f736571183f200128013a00422a0a0576616c756510011a0c08011040180030005014600020003000680070007800800100880100980100480052660a077072696d61727910011800220576616c7565300140004a10080010001a00200028003000380040005a007a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060006a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800100880103980100b201160a077072696d61727910001a0576616c756520012801b80100c20100e2011e0801100118ffffffffffffffff7f20012800320408001000380142004800e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880300a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89c88a89","value":"030ac50a0a0f6d7663635f737461746973746963731840200128013a0042450a0a637265617465645f617410011a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a300068007000780080010088010098010042300a0b64617461626173655f696410021a0c08011040180030005014600020003000680070007800800100880100980100422d0a087461626c655f696410031a0c08011040180030005014600020003000680070007800800100880100980100422d0a08696e6465785f696410041a0c0801104018003000501460002000300068007000780080010088010098010042300a0a7374617469737469637310051a0d081210001800300050da1d60002000300068007000780080010088010098010042ab010a3f637264625f696e7465726e616c5f637265617465645f61745f64617461626173655f69645f696e6465785f69645f7461626c655f69645f73686172645f313610061a0c080110201800300050176000200030015a456d6f6428666e763332286d643528637264625f696e7465726e616c2e646174756d735f746f5f627974657328637265617465645f61742929292c2031363a3a3a494e543829680070007800800101880100980100480752e4020a146d7663635f737461746973746963735f706b657910011801223f637264625f696e7465726e616c5f637265617465645f61745f64617461626173655f69645f696e6465785f69645f7461626c655f69645f73686172645f3136220a637265617465645f6174220b64617461626173655f696422087461626c655f69642208696e6465785f69642a0a7374617469737469637330063001300230033004400040004000400040004a10080010001a00200028003000380040005a0070057a0408002000800100880100900104980101a201720801123f637264625f696e7465726e616c5f637265617465645f61745f64617461626173655f69645f696e6465785f69645f7461626c655f69645f73686172645f31361810220a637265617465645f6174220b64617461626173655f69642208696e6465785f696422087461626c655f6964a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100a201bd020ae901637264625f696e7465726e616c5f637265617465645f61745f64617461626173655f69645f696e6465785f69645f7461626c655f69645f73686172645f313620494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e54382c20383a3a3a494e54382c20393a3a3a494e54382c2031303a3a3a494e54382c2031313a3a3a494e54382c2031323a3a3a494e54382c2031333a3a3a494e54382c2031343a3a3a494e54382c2031353a3a3a494e5438291245636865636b5f637264625f696e7465726e616c5f637265617465645f61745f64617461626173655f69645f696e6465785f69645f7461626c655f69645f73686172645f313618002806300038014002b201500a077072696d61727910001a0a637265617465645f61741a0b64617461626173655f69641a087461626c655f69641a08696e6465785f69641a0a73746174697374696373200120022003200420052805b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89c98a89","value":"030abb170a1e7472616e73616374696f6e5f657865637574696f6e5f696e7369676874731841200128013a0042340a0e7472616e73616374696f6e5f696410011a0d080e100018003000508617600020003000680070007800800100880100980100423f0a1a7472616e73616374696f6e5f66696e6765727072696e745f696410021a0c0808100018003000501160002000300068007000780080010088010098010042320a0d71756572795f73756d6d61727910031a0c0807100018003000501960002001300068007000780080010088010098010042310a0c696d706c696369745f74786e10041a0c08001000180030005010600020013000680070007800800100880100980100422f0a0a73657373696f6e5f696410051a0c0807100018003000501960002000300068007000780080010088010098010042300a0a73746172745f74696d6510061a0d080910001800300050a009600020013000680070007800800100880100980100422e0a08656e645f74696d6510071a0d080910001800300050a009600020013000680070007800800100880100980100422e0a09757365725f6e616d6510081a0c08071000180030005019600020013000680070007800800100880100980100422d0a086170705f6e616d6510091a0c0807100018003000501960002001300068007000780080010088010098010042320a0d757365725f7072696f72697479100a1a0c08071000180030005019600020013000680070007800800100880100980100422c0a0772657472696573100b1a0c0801104018003000501460002001300068007000780080010088010098010042360a116c6173745f72657472795f726561736f6e100c1a0c08071000180030005019600020013000680070007800800100880100980100423e0a0870726f626c656d73100d1a1d080f104018003000380150f8075a0c080110401800300050146000600020013000680070007800800100880100980100423c0a06636175736573100e1a1d080f104018003000380150f8075a0c08011040180030005014600060002001300068007000780080010088010098010042480a1273746d745f657865637574696f6e5f696473100f1a1d080f100018003000380750f1075a0c08071000180030005019600060002001300068007000780080010088010098010042320a0d6370755f73716c5f6e616e6f7310101a0c0801104018003000501460002001300068007000780080010088010098010042340a0f6c6173745f6572726f725f636f646510111a0c08071000180030005019600020013000680070007800800100880100980100422b0a0673746174757310121a0c08011040180030005014600020013000680070007800800100880100980100423b0a0f636f6e74656e74696f6e5f74696d6510131a13080610001800300050a20960006a04080010002001300068007000780080010088010098010042350a0f636f6e74656e74696f6e5f696e666f10141a0d081210001800300050da1d600020013000680070007800800100880100980100422d0a0764657461696c7310151a0d081210001800300050da1d60002001300068007000780080010088010098010042420a076372656174656410161a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a300068007000780080010088010098010042a0010a2a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313610171a0c080110201800300050176000200030015a4f6d6f6428666e763332286d643528637264625f696e7465726e616c2e646174756d735f746f5f627974657328656e645f74696d652c2073746172745f74696d652929292c2031363a3a3a494e543829680070007800800101880100980100481852b6030a077072696d61727910011801220e7472616e73616374696f6e5f69642a1a7472616e73616374696f6e5f66696e6765727072696e745f69642a0d71756572795f73756d6d6172792a0c696d706c696369745f74786e2a0a73657373696f6e5f69642a0a73746172745f74696d652a08656e645f74696d652a09757365725f6e616d652a086170705f6e616d652a0d757365725f7072696f726974792a07726574726965732a116c6173745f72657472795f726561736f6e2a0870726f626c656d732a066361757365732a1273746d745f657865637574696f6e5f6964732a0d6370755f73716c5f6e616e6f732a0f6c6173745f6572726f725f636f64652a067374617475732a0f636f6e74656e74696f6e5f74696d652a0f636f6e74656e74696f6e5f696e666f2a0764657461696c732a0763726561746564300140004a10080010001a00200028003000380040005a0070027003700470057006700770087009700a700b700c700d700e700f70107011701270137014701570167a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a94010a1e7472616e73616374696f6e5f66696e6765727072696e745f69645f69647810021800221a7472616e73616374696f6e5f66696e6765727072696e745f69643002380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005af2010a0e74696d655f72616e67655f69647810031800222a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f3136220a73746172745f74696d652208656e645f74696d6530173006300738014000400140014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a201460801122a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313618102208656e645f74696d65220a73746172745f74696d65a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060046a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100a20193020ad401637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313620494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e54382c20383a3a3a494e54382c20393a3a3a494e54382c2031303a3a3a494e54382c2031313a3a3a494e54382c2031323a3a3a494e54382c2031333a3a3a494e54382c2031343a3a3a494e54382c2031353a3a3a494e5438291230636865636b5f637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313618002817300038014002b201e6020a077072696d61727910001a0e7472616e73616374696f6e5f69641a1a7472616e73616374696f6e5f66696e6765727072696e745f69641a0d71756572795f73756d6d6172791a0c696d706c696369745f74786e1a0a73657373696f6e5f69641a0a73746172745f74696d651a08656e645f74696d651a09757365725f6e616d651a086170705f6e616d651a0d757365725f7072696f726974791a07726574726965731a116c6173745f72657472795f726561736f6e1a0870726f626c656d731a066361757365731a1273746d745f657865637574696f6e5f6964731a0d6370755f73716c5f6e616e6f731a0f6c6173745f6572726f725f636f64651a067374617475731a0f636f6e74656e74696f6e5f74696d651a0f636f6e74656e74696f6e5f696e666f1a0764657461696c731a0763726561746564200120022003200420052006200720082009200a200b200c200d200e200f20102011201220132014201520162800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89ca8a89","value":"030a861e0a1c73746174656d656e745f657865637574696f6e5f696e7369676874731842200128013a00422f0a0a73657373696f6e5f696410011a0c0807100018003000501960002000300068007000780080010088010098010042340a0e7472616e73616374696f6e5f696410021a0d080e100018003000508617600020003000680070007800800100880100980100423f0a1a7472616e73616374696f6e5f66696e6765727072696e745f696410031a0c0808100018003000501160002000300068007000780080010088010098010042310a0c73746174656d656e745f696410041a0c08071000180030005019600020003000680070007800800100880100980100423d0a1873746174656d656e745f66696e6765727072696e745f696410051a0c08081000180030005011600020003000680070007800800100880100980100422c0a0770726f626c656d10061a0c08011040180030005014600020013000680070007800800100880100980100423c0a0663617573657310071a1d080f104018003000380150f8075a0c080110401800300050146000600020013000680070007800800100880100980100422a0a05717565727910081a0c08071000180030005019600020013000680070007800800100880100980100422b0a0673746174757310091a0c0801104018003000501460002001300068007000780080010088010098010042300a0a73746172745f74696d65100a1a0d080910001800300050a009600020013000680070007800800100880100980100422e0a08656e645f74696d65100b1a0d080910001800300050a009600020013000680070007800800100880100980100422e0a0966756c6c5f7363616e100c1a0c08001000180030005010600020013000680070007800800100880100980100422e0a09757365725f6e616d65100d1a0c08071000180030005019600020013000680070007800800100880100980100422d0a086170705f6e616d65100e1a0c0807100018003000501960002001300068007000780080010088010098010042320a0d757365725f7072696f72697479100f1a0c0807100018003000501960002001300068007000780080010088010098010042320a0d64617461626173655f6e616d6510101a0c08071000180030005019600020013000680070007800800100880100980100422e0a09706c616e5f6769737410111a0c08071000180030005019600020013000680070007800800100880100980100422c0a077265747269657310121a0c0801104018003000501460002001300068007000780080010088010098010042360a116c6173745f72657472795f726561736f6e10131a0c0807100018003000501960002001300068007000780080010088010098010042480a12657865637574696f6e5f6e6f64655f69647310141a1d080f104018003000380150f8075a0c080110401800300050146000600020013000680070007800800100880100980100424b0a15696e6465785f7265636f6d6d656e646174696f6e7310151a1d080f100018003000380750f1075a0c08071000180030005019600060002001300068007000780080010088010098010042310a0c696d706c696369745f74786e10161a0c0800100018003000501060002001300068007000780080010088010098010042320a0d6370755f73716c5f6e616e6f7310171a0c08011040180030005014600020013000680070007800800100880100980100422f0a0a6572726f725f636f646510181a0c08071000180030005019600020013000680070007800800100880100980100423b0a0f636f6e74656e74696f6e5f74696d6510191a13080610001800300050a20960006a04080010002001300068007000780080010088010098010042350a0f636f6e74656e74696f6e5f696e666f101a1a0d081210001800300050da1d600020013000680070007800800100880100980100422d0a0764657461696c73101b1a0d081210001800300050da1d60002001300068007000780080010088010098010042420a0763726561746564101c1a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a300068007000780080010088010098010042a0010a2a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f3136101d1a0c080110201800300050176000200030015a4f6d6f6428666e763332286d643528637264625f696e7465726e616c2e646174756d735f746f5f627974657328656e645f74696d652c2073746172745f74696d652929292c2031363a3a3a494e543829680070007800800101880100980100481e529a040a077072696d61727910011801220c73746174656d656e745f6964220e7472616e73616374696f6e5f69642a0a73657373696f6e5f69642a1a7472616e73616374696f6e5f66696e6765727072696e745f69642a1873746174656d656e745f66696e6765727072696e745f69642a0770726f626c656d2a066361757365732a0571756572792a067374617475732a0a73746172745f74696d652a08656e645f74696d652a0966756c6c5f7363616e2a09757365725f6e616d652a086170705f6e616d652a0d757365725f7072696f726974792a0d64617461626173655f6e616d652a09706c616e5f676973742a07726574726965732a116c6173745f72657472795f726561736f6e2a12657865637574696f6e5f6e6f64655f6964732a15696e6465785f7265636f6d6d656e646174696f6e732a0c696d706c696369745f74786e2a0d6370755f73716c5f6e616e6f732a0a6572726f725f636f64652a0f636f6e74656e74696f6e5f74696d652a0f636f6e74656e74696f6e5f696e666f2a0764657461696c732a076372656174656430043002400040004a10080010001a00200028003000380040005a007001700370057006700770087009700a700b700c700d700e700f7010701170127013701470157016701770187019701a701b701c7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a7c0a127472616e73616374696f6e5f69645f69647810021800220e7472616e73616374696f6e5f69643002380440004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ab4010a1e7472616e73616374696f6e5f66696e6765727072696e745f69645f69647810031800221a7472616e73616374696f6e5f66696e6765727072696e745f6964220a73746172745f74696d652208656e645f74696d653003300a300b380438024000400140014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ab0010a1c73746174656d656e745f66696e6765727072696e745f69645f69647810041800221873746174656d656e745f66696e6765727072696e745f6964220a73746172745f74696d652208656e645f74696d653005300a300b380438024000400140014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005af4010a0e74696d655f72616e67655f69647810051800222a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f3136220a73746172745f74696d652208656e645f74696d65301d300a300b380438024000400140014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a201460801122a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313618102208656e645f74696d65220a73746172745f74696d65a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060066a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100a20193020ad401637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313620494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e54382c20383a3a3a494e54382c20393a3a3a494e54382c2031303a3a3a494e54382c2031313a3a3a494e54382c2031323a3a3a494e54382c2031333a3a3a494e54382c2031343a3a3a494e54382c2031353a3a3a494e5438291230636865636b5f637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f31361800281d300038014002b201c8030a077072696d61727910001a0a73657373696f6e5f69641a0e7472616e73616374696f6e5f69641a1a7472616e73616374696f6e5f66696e6765727072696e745f69641a0c73746174656d656e745f69641a1873746174656d656e745f66696e6765727072696e745f69641a0770726f626c656d1a066361757365731a0571756572791a067374617475731a0a73746172745f74696d651a08656e645f74696d651a0966756c6c5f7363616e1a09757365725f6e616d651a086170705f6e616d651a0d757365725f7072696f726974791a0d64617461626173655f6e616d651a09706c616e5f676973741a07726574726965731a116c6173745f72657472795f726561736f6e1a12657865637574696f6e5f6e6f64655f6964731a15696e6465785f7265636f6d6d656e646174696f6e731a0c696d706c696369745f74786e1a0d6370755f73716c5f6e616e6f731a0a6572726f725f636f64651a0f636f6e74656e74696f6e5f74696d651a0f636f6e74656e74696f6e5f696e666f1a0764657461696c731a0763726561746564200120022003200420052006200720082009200a200b200c200d200e200f2010201120122013201420152016201720182019201a201b201c2800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89cb8a89","value":"030ad31c0a0e7461626c655f6d657461646174611843200128013a00422a0a0564625f696410011a0c08011040180030005014600020003000680070007800800100880100980100422d0a087461626c655f696410021a0c08011040180030005014600020003000680070007800800100880100980100422c0a0764625f6e616d6510031a0c0807100018003000501960002000300068007000780080010088010098010042300a0b736368656d615f6e616d6510041a0c08071000180030005019600020003000680070007800800100880100980100422f0a0a7461626c655f6e616d6510051a0c0807100018003000501960002000300068007000780080010088010098010042320a0d746f74616c5f636f6c756d6e7310061a0c0801104018003000501460002000300068007000780080010088010098010042320a0d746f74616c5f696e646578657310071a0c08011040180030005014600020003000680070007800800100880100980100423f0a0973746f72655f69647310081a1d080f104018003000380150f8075a0c080110401800300050146000600020003000680070007800800100880100980100423b0a167265706c69636174696f6e5f73697a655f627974657310091a0c0801104018003000501460002000300068007000780080010088010098010042310a0c746f74616c5f72616e676573100a1a0c08011040180030005014600020003000680070007800800100880100980100423a0a15746f74616c5f6c6976655f646174615f6279746573100b1a0c0801104018003000501460002000300068007000780080010088010098010042350a10746f74616c5f646174615f6279746573100c1a0c0801104018003000501460002000300068007000780080010088010098010042340a0e706572635f6c6976655f64617461100d1a0d080210401800300050bd0560002000300068007000780080010088010098010042360a116c6173745f7570646174655f6572726f72100e1a0c0807100018003000501960002001300068007000780080010088010098010042470a0c6c6173745f75706461746564100f1a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a3000680070007800800100880100980100422f0a0a7461626c655f7479706510101a0c08071000180030005019600020003000680070007800800100880100980100422d0a0764657461696c7310111a0d081210001800300050da1d60002000300068007000780080010088010098010042a4010a2c637264625f696e7465726e616c5f6c6173745f757064617465645f7461626c655f69645f73686172645f313610121a0c080110201800300050176000200030015a516d6f6428666e763332286d643528637264625f696e7465726e616c2e646174756d735f746f5f6279746573287461626c655f69642c206c6173745f757064617465642929292c2031363a3a3a494e543829680070007800800101880100980100481352f2020a077072696d61727910011801220564625f696422087461626c655f69642a0764625f6e616d652a0b736368656d615f6e616d652a0a7461626c655f6e616d652a0d746f74616c5f636f6c756d6e732a0d746f74616c5f696e64657865732a0973746f72655f6964732a167265706c69636174696f6e5f73697a655f62797465732a0c746f74616c5f72616e6765732a15746f74616c5f6c6976655f646174615f62797465732a10746f74616c5f646174615f62797465732a0e706572635f6c6976655f646174612a116c6173745f7570646174655f6572726f722a0c6c6173745f757064617465642a0a7461626c655f747970652a0764657461696c7330013002400040004a10080010001a00200028003000380040005a007003700470057006700770087009700a700b700c700d700e700f701070117a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005aa3010a237265706c69636174696f6e5f73697a655f62797465735f7461626c655f69645f6964781002180022167265706c69636174696f6e5f73697a655f627974657322087461626c655f6964300930023801400140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a8f010a19746f74616c5f72616e6765735f7461626c655f69645f69647810031800220c746f74616c5f72616e67657322087461626c655f6964300a30023801400140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a91010a1a746f74616c5f636f6c756d6e735f7461626c655f69645f69647810041800220d746f74616c5f636f6c756d6e7322087461626c655f6964300630023801400140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a91010a1a746f74616c5f696e64657865735f7461626c655f69645f69647810051800220d746f74616c5f696e646578657322087461626c655f6964300730023801400140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a8f010a15706572635f6c6976655f646174615f69645f69647810061800220e706572635f6c6976655f6461746122087461626c655f6964300d30023801400140004a10080010001a00200028003000380040005a00680d7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005afc010a106c6173745f757064617465645f69647810071800222c637264625f696e7465726e616c5f6c6173745f757064617465645f7461626c655f69645f73686172645f3136220c6c6173745f7570646174656422087461626c655f69643012300f300238014000400140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a2014a0801122c637264625f696e7465726e616c5f6c6173745f757064617465645f7461626c655f69645f73686172645f31361810220c6c6173745f7570646174656422087461626c655f6964a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a730a0b64625f6e616d655f67696e10081800220764625f6e616d6530033801380240004a10080010001a00200028003000380040005a007a0408002000800101880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100d80101e00100e90100000000000000005a790a0e7461626c655f6e616d655f67696e10091800220a7461626c655f6e616d6530053801380240004a10080010001a00200028003000380040005a007a0408002000800101880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100d80101e00100e90100000000000000005a7b0a0f736368656d615f6e616d655f67696e100a1800220b736368656d615f6e616d6530043801380240004a10080010001a00200028003000380040005a007a0408002000800101880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100d80101e00100e90100000000000000005a770a0d73746f72655f6964735f67696e100b1800220973746f72655f69647330083801380240004a10080010001a00200028003000380040005a007a0408002000800101880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100d80100e00100e9010000000000000000600c6a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100a20197020ad601637264625f696e7465726e616c5f6c6173745f757064617465645f7461626c655f69645f73686172645f313620494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e54382c20383a3a3a494e54382c20393a3a3a494e54382c2031303a3a3a494e54382c2031313a3a3a494e54382c2031323a3a3a494e54382c2031333a3a3a494e54382c2031343a3a3a494e54382c2031353a3a3a494e5438291232636865636b5f637264625f696e7465726e616c5f6c6173745f757064617465645f7461626c655f69645f73686172645f313618002812300038014002b201a0020a077072696d61727910001a0564625f69641a087461626c655f69641a0764625f6e616d651a0b736368656d615f6e616d651a0a7461626c655f6e616d651a0d746f74616c5f636f6c756d6e731a0d746f74616c5f696e64657865731a0973746f72655f6964731a167265706c69636174696f6e5f73697a655f62797465731a0c746f74616c5f72616e6765731a15746f74616c5f6c6976655f646174615f62797465731a10746f74616c5f646174615f62797465731a0e706572635f6c6976655f646174611a116c6173745f7570646174655f6572726f721a0c6c6173745f757064617465641a0a7461626c655f747970651a0764657461696c73200120022003200420052006200720082009200a200b200c200d200e200f201020112800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8c"} +,{"key":"8d"} +,{"key":"8d89888a89","value":"031080808040188080808002220308c0702803500058007801"} +,{"key":"8d89898a89","value":"031080808040188080808002220308c0702805500058007801"} +,{"key":"8d89938a89","value":"03220308d804500158017800"} +,{"key":"8d89988a89","value":"031080808040188080808002220308901c2805500058007801"} +,{"key":"8d89998a89","value":"031080808040188080808002220308c0702805500058007801"} +,{"key":"8d899a8a89","value":"03220308c070500158017800"} +,{"key":"8d899e8a89","value":"031080808040188080808002220308d8042805500058007801"} +,{"key":"8d89a18a89","value":"03220308d804500158017800"} +,{"key":"8d89a38a89","value":"03220308d804500158017800"} +,{"key":"8d89b58a89","value":"03220308a038500158017800"} +,{"key":"8e"} +,{"key":"8f"} +,{"key":"8f898888","value":"01c801"} +,{"key":"90"} +,{"key":"90898988","value":"0a2a160c080110001a0020002a004200160673797374656d13021304"} +,{"key":"908a1273797374656d000188","value":"0389"} +,{"key":"908b8a8988","value":"03"} +,{"key":"91"} +,{"key":"93"} +,{"key":"94"} +,{"key":"95"} +,{"key":"96"} +,{"key":"97"} +,{"key":"98"} +,{"key":"99"} +,{"key":"9a"} +,{"key":"9b"} +,{"key":"9c"} +,{"key":"9d"} +,{"key":"9e"} +,{"key":"9f"} +,{"key":"a0"} +,{"key":"a1"} +,{"key":"a2"} +,{"key":"a3"} +,{"key":"a4"} +,{"key":"a5"} +,{"key":"a6"} +,{"key":"a68988881273797374656d00018c89","value":"0102"} +,{"key":"a6898988127075626c696300018c89","value":"013a"} +,{"key":"a68989a512636f6d6d656e747300018c89","value":"0130"} +,{"key":"a68989a51264617461626173655f726f6c655f73657474696e677300018c89","value":"0158"} +,{"key":"a68989a51264657363726970746f7200018c89","value":"0106"} +,{"key":"a68989a51264657363726970746f725f69645f73657100018c89","value":"010e"} +,{"key":"a68989a5126576656e746c6f6700018c89","value":"0118"} +,{"key":"a68989a51265787465726e616c5f636f6e6e656374696f6e7300018c89","value":"016a"} +,{"key":"a68989a5126a6f625f696e666f00018c89","value":"016c"} +,{"key":"a68989a5126a6f627300018c89","value":"011e"} +,{"key":"a68989a5126a6f696e5f746f6b656e7300018c89","value":"0152"} +,{"key":"a68989a5126c6561736500018c89","value":"0116"} +,{"key":"a68989a5126c6f636174696f6e7300018c89","value":"012a"} +,{"key":"a68989a5126d6967726174696f6e7300018c89","value":"0150"} +,{"key":"a68989a5126d7663635f7374617469737469637300018c89","value":"018001"} +,{"key":"a68989a5126e616d65737061636500018c89","value":"013c"} +,{"key":"a68989a51270726976696c6567657300018c89","value":"0168"} +,{"key":"a68989a51270726f7465637465645f74735f6d65746100018c89","value":"013e"} +,{"key":"a68989a51270726f7465637465645f74735f7265636f72647300018c89","value":"0140"} +,{"key":"a68989a51272616e67656c6f6700018c89","value":"011a"} +,{"key":"a68989a512726567696f6e5f6c6976656e65737300018c89","value":"0112"} +,{"key":"a68989a5127265706c69636174696f6e5f636f6e73747261696e745f737461747300018c89","value":"0132"} +,{"key":"a68989a5127265706c69636174696f6e5f637269746963616c5f6c6f63616c697469657300018c89","value":"0134"} +,{"key":"a68989a5127265706c69636174696f6e5f737461747300018c89","value":"0136"} +,{"key":"a68989a5127265706f7274735f6d65746100018c89","value":"0138"} +,{"key":"a68989a512726f6c655f69645f73657100018c89","value":"0160"} +,{"key":"a68989a512726f6c655f6d656d6265727300018c89","value":"012e"} +,{"key":"a68989a512726f6c655f6f7074696f6e7300018c89","value":"0142"} +,{"key":"a68989a5127363686564756c65645f6a6f627300018c89","value":"014a"} +,{"key":"a68989a51273657474696e677300018c89","value":"010c"} +,{"key":"a68989a5127370616e5f636f6e66696775726174696f6e7300018c89","value":"015e"} +,{"key":"a68989a5127370616e5f636f756e7400018c89","value":"0166"} +,{"key":"a68989a5127370616e5f73746174735f6275636b65747300018c89","value":"0170"} +,{"key":"a68989a5127370616e5f73746174735f73616d706c657300018c89","value":"0172"} +,{"key":"a68989a5127370616e5f73746174735f74656e616e745f626f756e64617269657300018c89","value":"0174"} +,{"key":"a68989a5127370616e5f73746174735f756e697175655f6b65797300018c89","value":"016e"} +,{"key":"a68989a51273716c5f696e7374616e63657300018c89","value":"015c"} +,{"key":"a68989a51273716c6c6976656e65737300018c89","value":"014e"} +,{"key":"a68989a51273746174656d656e745f616374697669747900018c89","value":"017a"} +,{"key":"a68989a51273746174656d656e745f62756e646c655f6368756e6b7300018c89","value":"0144"} +,{"key":"a68989a51273746174656d656e745f646961676e6f737469637300018c89","value":"0148"} +,{"key":"a68989a51273746174656d656e745f646961676e6f73746963735f726571756573747300018c89","value":"0146"} +,{"key":"a68989a51273746174656d656e745f657865637574696f6e5f696e73696768747300018c89","value":"018401"} +,{"key":"a68989a51273746174656d656e745f7374617469737469637300018c89","value":"0154"} +,{"key":"a68989a5127461626c655f6d6574616461746100018c89","value":"018601"} +,{"key":"a68989a5127461626c655f7374617469737469637300018c89","value":"0128"} +,{"key":"a68989a5127461736b5f7061796c6f61647300018c89","value":"0176"} +,{"key":"a68989a51274656e616e745f69645f73657100018c89","value":"017e"} +,{"key":"a68989a51274656e616e745f73657474696e677300018c89","value":"0164"} +,{"key":"a68989a51274656e616e745f7461736b7300018c89","value":"0178"} +,{"key":"a68989a51274656e616e745f757361676500018c89","value":"015a"} +,{"key":"a68989a51274656e616e747300018c89","value":"0110"} +,{"key":"a68989a5127472616e73616374696f6e5f616374697669747900018c89","value":"017c"} +,{"key":"a68989a5127472616e73616374696f6e5f657865637574696f6e5f696e73696768747300018c89","value":"018201"} +,{"key":"a68989a5127472616e73616374696f6e5f7374617469737469637300018c89","value":"0156"} +,{"key":"a68989a512756900018c89","value":"011c"} +,{"key":"a68989a512757365727300018c89","value":"0108"} +,{"key":"a68989a5127765625f73657373696f6e7300018c89","value":"0126"} +,{"key":"a68989a5127a6f6e657300018c89","value":"010a"} +,{"key":"a7"} +,{"key":"a8"} +,{"key":"a9"} +,{"key":"aa"} +,{"key":"ab"} +,{"key":"ac"} +,{"key":"ad"} +,{"key":"ae"} +,{"key":"af"} +,{"key":"b0"} +,{"key":"b1"} +,{"key":"b2"} +,{"key":"b3"} +,{"key":"b4"} +,{"key":"b5"} +,{"key":"b6"} +,{"key":"b7"} +,{"key":"b8"} +,{"key":"b8898888","value":"01c801"} +,{"key":"ba"} +,{"key":"bb"} +,{"key":"bc"} +,{"key":"bd"} +,{"key":"be"} +,{"key":"bf"} +,{"key":"c0"} +,{"key":"c1"} +,{"key":"c2"} +,{"key":"c3"} +,{"key":"c4"} +,{"key":"c5"} +,{"key":"c6"} +,{"key":"c7"} +,{"key":"c7898888","value":"0102"} +,{"key":"c8"} +,{"key":"c9"} +,{"key":"ca"} +,{"key":"cb"} +] \ No newline at end of file diff --git a/pkg/sql/catalog/bootstrap/data/24_3_system.sha256 b/pkg/sql/catalog/bootstrap/data/24_3_system.sha256 new file mode 100644 index 000000000000..65fa88af17dd --- /dev/null +++ b/pkg/sql/catalog/bootstrap/data/24_3_system.sha256 @@ -0,0 +1 @@ +d7d054210f72c7bb7dd2e82fb55f95a3b7b84fa63cf63177f8ed06b1c95ab792 \ No newline at end of file diff --git a/pkg/sql/catalog/bootstrap/data/24_3_tenant.keys b/pkg/sql/catalog/bootstrap/data/24_3_tenant.keys new file mode 100644 index 000000000000..a1ccb51d72ea --- /dev/null +++ b/pkg/sql/catalog/bootstrap/data/24_3_tenant.keys @@ -0,0 +1,126 @@ +[{"key":""} +,{"key":"8b89898a89","value":"0312450a0673797374656d10011a250a0d0a0561646d696e1080101880100a0c0a04726f6f7410801018801012046e6f646518032200280140004a006a0808181003180020007000"} +,{"key":"8b898b8a89","value":"030a94030a0a64657363726970746f721803200128013a0042270a02696410011a0c08011040180030005014600020003000680070007800800100880100980100422f0a0a64657363726970746f7210021a0c08081000180030005011600020013000680070007800800100880100980100480352710a077072696d61727910011801220269642a0a64657363726970746f72300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800101880103980100b201130a077072696d61727910001a02696420012800b201240a1066616d5f325f64657363726970746f7210021a0a64657363726970746f7220022802b80103c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b898c8a89","value":"030acd050a0575736572731804200128013a00422d0a08757365726e616d6510011a0c0807100018003000501960002000300068007000780080010088010098010042330a0e68617368656450617373776f726410021a0c0808100018003000501160002001300068007000780080010088010098010042320a066973526f6c6510031a0c08001000180030005010600020002a0566616c73653000680070007800800100880100980100422c0a07757365725f696410041a0c080c100018003000501a60002000300068007000780080010088010098010048055290010a077072696d617279100118012208757365726e616d652a0e68617368656450617373776f72642a066973526f6c652a07757365725f6964300140004a10080010001a00200028003000380040005a007002700370047a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00102e00100e90100000000000000005a740a1175736572735f757365725f69645f696478100218012207757365725f69643004380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201240a077072696d61727910001a08757365726e616d651a07757365725f6964200120042804b2012c0a1466616d5f325f68617368656450617373776f726410021a0e68617368656450617373776f726420022802b2011c0a0c66616d5f335f6973526f6c6510031a066973526f6c6520032803b80104c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b898d8a89","value":"030a83030a057a6f6e65731805200128013a0042270a02696410011a0c08011040180030005014600020003000680070007800800100880100980100422b0a06636f6e66696710021a0c080810001800300050116000200130006800700078008001008801009801004803526d0a077072696d61727910011801220269642a06636f6e666967300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201130a077072696d61727910001a02696420012800b2011c0a0c66616d5f325f636f6e66696710021a06636f6e66696720022802b80103c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b898e8a89","value":"030ac2040a0873657474696e67731806200128013a0042290a046e616d6510011a0c08071000180030005019600020003000680070007800800100880100980100422a0a0576616c756510021a0c0807100018003000501960002000300068007000780080010088010098010042440a0b6c6173745570646174656410031a0d080510001800300050da08600020002a116e6f7728293a3a3a54494d455354414d503000680070007800800100880100980100422e0a0976616c75655479706510041a0c080710001800300050196000200130006800700078008001008801009801004805528a010a077072696d6172791001180122046e616d652a0576616c75652a0b6c617374557064617465642a0976616c756554797065300140004a10080010001a00200028003000380040005a007002700370047a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201590a2666616d5f305f6e616d655f76616c75655f6c617374557064617465645f76616c75655479706510001a046e616d651a0576616c75651a0b6c617374557064617465641a0976616c75655479706520012002200320042800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b898f8a89","value":"030adf020a1164657363726970746f725f69645f7365711807200128013a00422a0a0576616c756510011a0c08011040180030005014600020003000680070007800800100880100980100480052660a077072696d61727910011800220576616c7565300140004a10080010001a00200028003000380040005a007a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060006a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800100880103980100b201160a077072696d61727910001a0576616c756520012801b80100c20100e2011e0801100118ffffffffffffffff7f20012800320408001000380142004800e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880300a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89908a89","value":"030afe060a0774656e616e74731808200128013a0042270a02696410011a0c0801104018003000501460002000300068007000780080010088010098010042310a0661637469766510021a0c08001000180030005010600020002a0474727565300168007000780080010088010098010042290a04696e666f10031a0c0808100018003000501160002001300068007000780080010088010098010042290a046e616d6510041a0c08071000180030005019600020013000680070007800800100880100980100422f0a0a646174615f737461746510051a0c0801104018003000501460002001300068007000780080010088010098010042310a0c736572766963655f6d6f646510061a0c080110401800300050146000200130006800700078008001008801009801004807529b010a077072696d61727910011801220269642a066163746976652a04696e666f2a046e616d652a0a646174615f73746174652a0c736572766963655f6d6f6465300140004a10080010001a00200028003000380040005a00700270037004700570067a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00102e00100e90100000000000000005a700a1074656e616e74735f6e616d655f6964781002180122046e616d653004380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a80010a1874656e616e74735f736572766963655f6d6f64655f69647810031800220c736572766963655f6d6f64653006380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060046a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800101880103980100b2014b0a077072696d61727910001a0269641a066163746976651a04696e666f1a046e616d651a0a646174615f73746174651a0c736572766963655f6d6f64652001200220032004200520062800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89918a89","value":"030aba030a0f726567696f6e5f6c6976656e6573731809200128013a0042300a0b637264625f726567696f6e10011a0c0808100018003000501160002000300068007000780080010088010098010042340a0e756e617661696c61626c655f617410021a0d080510001800300050da086000200130006800700078008001008801009801004803528b010a14726567696f6e5f6c6976656e6573735f706b657910011801220b637264625f726567696f6e2a0e756e617661696c61626c655f6174300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2012e0a077072696d61727910001a0b637264625f726567696f6e1a0e756e617661696c61626c655f6174200120022802b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89938a89","value":"030a80050a056c65617365180b200128013a00422c0a07646573635f696410011a0c08011040180030005014600020003000680070007800800100880100980100422c0a0776657273696f6e10021a0c0801104018003000501460002000300068007000780080010088010098010042340a0f73716c5f696e7374616e63655f696410031a0c08011040180030005014600020003000680070007800800100880100980100422f0a0a73657373696f6e5f696410041a0c0808100018003000501160002000300068007000780080010088010098010042300a0b637264625f726567696f6e10051a0c08081000180030005011600020003000680070007800800100880100980100480652a9010a077072696d61727910031801220b637264625f726567696f6e2207646573635f6964220776657273696f6e220a73657373696f6e5f69642a0f73716c5f696e7374616e63655f6964300530013002300440004000400040004a10080010001a00200028003000380040005a0070037a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060046a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201530a077072696d61727910001a07646573635f69641a0776657273696f6e1a0f73716c5f696e7374616e63655f69641a0a73657373696f6e5f69641a0b637264625f726567696f6e200120022003200420052803b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800301880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89948a89","value":"030a93060a086576656e746c6f67180c200128013a00422f0a0974696d657374616d7010011a0d080510001800300050da08600020003000680070007800800100880100980100422e0a096576656e745479706510021a0c08071000180030005019600020003000680070007800800100880100980100422d0a08746172676574494410031a0c0801104018003000501460002000300068007000780080010088010098010042300a0b7265706f7274696e67494410041a0c0801104018003000501460002000300068007000780080010088010098010042290a04696e666f10051a0c0807100018003000501960002001300068007000780080010088010098010042380a08756e69717565494410061a0c08081000180030005011600020002a09757569645f763428293000680070007800800100880100980100480752a8010a077072696d61727910011801220974696d657374616d702208756e6971756549442a096576656e74547970652a0874617267657449442a0b7265706f7274696e6749442a04696e666f30013006400040004a10080010001a00200028003000380040005a0070027003700470057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201260a077072696d61727910001a0974696d657374616d701a08756e697175654944200120062800b201220a0f66616d5f325f6576656e745479706510021a096576656e745479706520022802b201200a0e66616d5f335f746172676574494410031a08746172676574494420032803b201260a1166616d5f345f7265706f7274696e67494410041a0b7265706f7274696e67494420042804b201180a0a66616d5f355f696e666f10051a04696e666f20052805b80106c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89958a89","value":"030af2060a0872616e67656c6f67180d200128013a00422f0a0974696d657374616d7010011a0d080510001800300050da08600020003000680070007800800100880100980100422c0a0772616e6765494410021a0c08011040180030005014600020003000680070007800800100880100980100422c0a0773746f7265494410031a0c08011040180030005014600020003000680070007800800100880100980100422e0a096576656e745479706510041a0c0807100018003000501960002000300068007000780080010088010098010042310a0c6f7468657252616e6765494410051a0c0801104018003000501460002001300068007000780080010088010098010042290a04696e666f10061a0c08071000180030005019600020013000680070007800800100880100980100423d0a08756e69717565494410071a0c08011040180030005014600020002a0e756e697175655f726f77696428293000680070007800800100880100980100480852b3010a077072696d61727910011801220974696d657374616d702208756e6971756549442a0772616e676549442a0773746f726549442a096576656e74547970652a0c6f7468657252616e676549442a04696e666f30013007400040004a10080010001a00200028003000380040005a00700270037004700570067a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201260a077072696d61727910001a0974696d657374616d701a08756e697175654944200120072800b2011e0a0d66616d5f325f72616e6765494410021a0772616e6765494420022802b2011e0a0d66616d5f335f73746f7265494410031a0773746f7265494420032803b201220a0f66616d5f345f6576656e745479706510041a096576656e745479706520042804b201280a1266616d5f355f6f7468657252616e6765494410051a0c6f7468657252616e6765494420052805b201180a0a66616d5f365f696e666f10061a04696e666f20062806b80107c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89968a89","value":"030aea030a027569180e200128013a0042280a036b657910011a0c08071000180030005019600020003000680070007800800100880100980100422a0a0576616c756510021a0c0808100018003000501160002001300068007000780080010088010098010042310a0b6c6173745570646174656410031a0d080510001800300050da086000200030006800700078008001008801009801004804527c0a077072696d6172791001180122036b65792a0576616c75652a0b6c61737455706461746564300140004a10080010001a00200028003000380040005a00700270037a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201140a077072696d61727910001a036b657920012800b2011a0a0b66616d5f325f76616c756510021a0576616c756520022802b201260a1166616d5f335f6c6173745570646174656410031a0b6c6173745570646174656420032803b80104c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89978a89","value":"030a8c100a046a6f6273180f200128013a0042370a02696410011a0c08011040180030005014600020002a0e756e697175655f726f77696428293000680070007800800100880100980100422b0a0673746174757310021a0c0807100018003000501960002000300068007000780080010088010098010042400a076372656174656410031a0d080510001800300050da08600020002a116e6f7728293a3a3a54494d455354414d50300068007000780080010088010098010042340a0f64726f707065645f7061796c6f616410041a0c0808100018003000501160002001300168007000780080010088010098010042350a1064726f707065645f70726f677265737310051a0c0808100018003000501160002001300168007000780080010088010098010042340a0f637265617465645f62795f7479706510061a0c0807100018003000501960002001300068007000780080010088010098010042320a0d637265617465645f62795f696410071a0c0801104018003000501460002001300068007000780080010088010098010042350a10636c61696d5f73657373696f6e5f696410081a0c0808100018003000501160002001300068007000780080010088010098010042360a11636c61696d5f696e7374616e63655f696410091a0c08011040180030005014600020013000680070007800800100880100980100422d0a086e756d5f72756e73100a1a0c08011040180030005014600020013000680070007800800100880100980100422e0a086c6173745f72756e100b1a0d080510001800300050da08600020013000680070007800800100880100980100422d0a086a6f625f74797065100c1a0c08071000180030005019600020013000680070007800800100880100980100480d5290020a077072696d61727910011801220269642a067374617475732a07637265617465642a0f64726f707065645f7061796c6f61642a1064726f707065645f70726f67726573732a0f637265617465645f62795f747970652a0d637265617465645f62795f69642a10636c61696d5f73657373696f6e5f69642a11636c61696d5f696e7374616e63655f69642a086e756d5f72756e732a086c6173745f72756e2a086a6f625f74797065300140004a10080010001a00200028003000380040005a0070027003700470057006700770087009700a700b700c7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a86010a176a6f62735f7374617475735f637265617465645f696478100218002206737461747573220763726561746564300230033801400040004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aae010a266a6f62735f637265617465645f62795f747970655f637265617465645f62795f69645f69647810031800220f637265617465645f62795f74797065220d637265617465645f62795f69642a06737461747573300630073801400040004a10080010001a00200028003000380040005a0070027a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ac6020a126a6f62735f72756e5f73746174735f696478100418002210636c61696d5f73657373696f6e5f696422067374617475732207637265617465642a086c6173745f72756e2a086e756d5f72756e732a11636c61696d5f696e7374616e63655f696430083002300338014000400040004a10080010001a00200028003000380040005a00700b700a70097a0408002000800100880100900103980100a20106080012001800a80100b20100ba01810173746174757320494e20282772756e6e696e67273a3a3a535452494e472c2027726576657274696e67273a3a3a535452494e472c202770656e64696e67273a3a3a535452494e472c202770617573652d726571756573746564273a3a3a535452494e472c202763616e63656c2d726571756573746564273a3a3a535452494e4729c00100c80100d00100e00100e90100000000000000005a750a116a6f62735f6a6f625f747970655f6964781005180022086a6f625f74797065300c380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060066a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b20183010a1f66616d5f305f69645f7374617475735f637265617465645f7061796c6f616410001a0269641a067374617475731a07637265617465641a0f64726f707065645f7061796c6f61641a0f637265617465645f62795f747970651a0d637265617465645f62795f69641a086a6f625f74797065200120022003200420062007200c2800b201220a0870726f677265737310011a1064726f707065645f70726f677265737320052805b2014c0a05636c61696d10021a10636c61696d5f73657373696f6e5f69641a11636c61696d5f696e7374616e63655f69641a086e756d5f72756e731a086c6173745f72756e20082009200a200b2800b80103c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b899b8a89","value":"030a940c0a0c7765625f73657373696f6e731813200128013a0042370a02696410011a0c08011040180030005014600020002a0e756e697175655f726f7769642829300068007000780080010088010098010042310a0c68617368656453656372657410021a0c08081000180030005011600020003000680070007800800100880100980100422d0a08757365726e616d6510031a0c0807100018003000501960002000300068007000780080010088010098010042420a0963726561746564417410041a0d080510001800300050da08600020002a116e6f7728293a3a3a54494d455354414d503000680070007800800100880100980100422f0a0965787069726573417410051a0d080510001800300050da08600020003000680070007800800100880100980100422f0a097265766f6b6564417410061a0d080510001800300050da0860002001300068007000780080010088010098010042430a0a6c61737455736564417410071a0d080510001800300050da08600020002a116e6f7728293a3a3a54494d455354414d503000680070007800800100880100980100422e0a096175646974496e666f10081a0c08071000180030005019600020013000680070007800800100880100980100422c0a07757365725f696410091a0c080c100018003000501a600020003000680070007800800100880100980100480a52cc010a077072696d61727910011801220269642a0c6861736865645365637265742a08757365726e616d652a096372656174656441742a096578706972657341742a097265766f6b656441742a0a6c6173745573656441742a096175646974496e666f2a07757365725f6964300140004a10080010001a00200028003000380040005a00700270037004700570067007700870097a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a7f0a1a7765625f73657373696f6e735f6578706972657341745f6964781002180022096578706972657341743005380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a7f0a1a7765625f73657373696f6e735f6372656174656441745f6964781003180022096372656174656441743004380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a7f0a1a7765625f73657373696f6e735f7265766f6b656441745f6964781004180022097265766f6b656441743006380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a81010a1b7765625f73657373696f6e735f6c6173745573656441745f69647810051800220a6c6173745573656441743007380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060066a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201c6010a5166616d5f305f69645f6861736865645365637265745f757365726e616d655f6372656174656441745f6578706972657341745f7265766f6b656441745f6c6173745573656441745f6175646974496e666f10001a0269641a0c6861736865645365637265741a08757365726e616d651a096372656174656441741a096578706972657341741a097265766f6b656441741a0a6c6173745573656441741a096175646974496e666f1a07757365725f69642001200220032004200520062007200820092800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b899c8a89","value":"030aaf0a0a107461626c655f737461746973746963731814200128013a00422c0a077461626c65494410011a0c0801104018003000501460002000300068007000780080010088010098010042400a0b737461746973746963494410021a0c08011040180030005014600020002a0e756e697175655f726f7769642829300068007000780080010088010098010042290a046e616d6510031a0c08071000180030005019600020013000680070007800800100880100980100423f0a09636f6c756d6e49447310041a1d080f104018003000380150f8075a0c08011040180030005014600060002000300068007000780080010088010098010042420a0963726561746564417410051a0d080510001800300050da08600020002a116e6f7728293a3a3a54494d455354414d503000680070007800800100880100980100422d0a08726f77436f756e7410061a0c0801104018003000501460002000300068007000780080010088010098010042320a0d64697374696e6374436f756e7410071a0c08011040180030005014600020003000680070007800800100880100980100422e0a096e756c6c436f756e7410081a0c08011040180030005014600020003000680070007800800100880100980100422e0a09686973746f6772616d10091a0c0808100018003000501160002001300068007000780080010088010098010042360a0761766753697a65100a1a0c08011040180030005014600020002a08303a3a3a494e5438300068007000780080010088010098010042350a107061727469616c507265646963617465100b1a0c0807100018003000501960002001300068007000780080010088010098010042340a0f66756c6c5374617469737469634944100c1a0c08011040180030005014600020013000680070007800800100880100980100480d5284020a077072696d6172791001180122077461626c654944220b73746174697374696349442a046e616d652a09636f6c756d6e4944732a096372656174656441742a08726f77436f756e742a0d64697374696e6374436f756e742a096e756c6c436f756e742a09686973746f6772616d2a0761766753697a652a107061727469616c5072656469636174652a0f66756c6c537461746973746963494430013002400040004a10080010001a00200028003000380040005a007003700470057006700770087009700a700b700c7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b20188020a5d66616d5f305f7461626c6549445f73746174697374696349445f6e616d655f636f6c756d6e4944735f6372656174656441745f726f77436f756e745f64697374696e6374436f756e745f6e756c6c436f756e745f686973746f6772616d10001a077461626c6549441a0b73746174697374696349441a046e616d651a09636f6c756d6e4944731a096372656174656441741a08726f77436f756e741a0d64697374696e6374436f756e741a096e756c6c436f756e741a09686973746f6772616d1a0761766753697a651a107061727469616c5072656469636174651a0f66756c6c5374617469737469634944200120022003200420052006200720082009200a200b200c2800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b899d8a89","value":"030ae3040a096c6f636174696f6e731815200128013a0042300a0b6c6f63616c6974794b657910011a0c0807100018003000501960002000300068007000780080010088010098010042320a0d6c6f63616c69747956616c756510021a0c08071000180030005019600020003000680070007800800100880100980100422e0a086c6174697475646510031a0d0803100f1812300050a40d600020003000680070007800800100880100980100422f0a096c6f6e67697475646510041a0d0803100f1812300050a40d60002000300068007000780080010088010098010048055298010a077072696d61727910011801220b6c6f63616c6974794b6579220d6c6f63616c69747956616c75652a086c617469747564652a096c6f6e67697475646530013002400040004a10080010001a00200028003000380040005a00700370047a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201710a3266616d5f305f6c6f63616c6974794b65795f6c6f63616c69747956616c75655f6c617469747564655f6c6f6e67697475646510001a0b6c6f63616c6974794b65791a0d6c6f63616c69747956616c75651a086c617469747564651a096c6f6e67697475646520012002200320042800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b899f8a89","value":"030aa20a0a0c726f6c655f6d656d626572731817200128013a0042290a04726f6c6510011a0c08071000180030005019600020003000680070007800800100880100980100422b0a066d656d62657210021a0c08071000180030005019600020003000680070007800800100880100980100422c0a07697341646d696e10031a0c08001000180030005010600020003000680070007800800100880100980100422c0a07726f6c655f696410041a0c080c100018003000501a600020003000680070007800800100880100980100422e0a096d656d6265725f696410051a0c080c100018003000501a60002000300068007000780080010088010098010048065294010a077072696d617279100118012204726f6c6522066d656d6265722a07697341646d696e2a07726f6c655f69642a096d656d6265725f696430013002400040004a10080010001a00200028003000380040005a007003700470057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00102e00100e90100000000000000005a750a15726f6c655f6d656d626572735f726f6c655f696478100218002204726f6c653001380240004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a790a17726f6c655f6d656d626572735f6d656d6265725f6964781003180022066d656d6265723002380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a7d0a18726f6c655f6d656d626572735f726f6c655f69645f696478100418002207726f6c655f696430043801380240004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a81010a1a726f6c655f6d656d626572735f6d656d6265725f69645f6964781005180022096d656d6265725f696430053801380240004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a96010a22726f6c655f6d656d626572735f726f6c655f69645f6d656d6265725f69645f6b6579100618012207726f6c655f696422096d656d6265725f69643004300538013802400040004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060076a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2011f0a077072696d61727910001a04726f6c651a066d656d626572200120022800b2011e0a0d66616d5f335f697341646d696e10031a07697341646d696e20032803b2011e0a0d66616d5f345f726f6c655f696410041a07726f6c655f696420042804b201220a0f66616d5f355f6d656d6265725f696410051a096d656d6265725f696420052805b80106c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89a08a89","value":"030aae040a08636f6d6d656e74731818200128013a0042290a047479706510011a0c08011040180030005014600020003000680070007800800100880100980100422e0a096f626a6563745f696410021a0c08011040180030005014600020003000680070007800800100880100980100422b0a067375625f696410031a0c08011040180030005014600020003000680070007800800100880100980100422c0a07636f6d6d656e7410041a0c080710001800300050196000200030006800700078008001008801009801004805528b010a077072696d6172791001180122047479706522096f626a6563745f696422067375625f69642a07636f6d6d656e743001300230034000400040004a10080010001a00200028003000380040005a0070047a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a330a0d0a0561646d696e10e00318e0030a0c0a067075626c6963102018000a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2012c0a077072696d61727910001a04747970651a096f626a6563745f69641a067375625f69642001200220032800b2011e0a0d66616d5f345f636f6d6d656e7410041a07636f6d6d656e7420042804b80105c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89a18a89","value":"030aa9060a1c7265706c69636174696f6e5f636f6e73747261696e745f73746174731819200128013a00422c0a077a6f6e655f696410011a0c08011040180030005014600020003000680070007800800100880100980100422f0a0a7375627a6f6e655f696410021a0c0801104018003000501460002000300068007000780080010088010098010042290a047479706510031a0c08071000180030005019600020003000680070007800800100880100980100422b0a06636f6e66696710041a0c08071000180030005019600020003000680070007800800100880100980100422e0a097265706f72745f696410051a0c0801104018003000501460002000300068007000780080010088010098010042350a0f76696f6c6174696f6e5f737461727410061a0d080910001800300050a00960002001300068007000780080010088010098010042350a1076696f6c6174696e675f72616e67657310071a0c08011040180030005014600020003000680070007800800100880100980100480852c2010a077072696d6172791001180122077a6f6e655f6964220a7375627a6f6e655f69642204747970652206636f6e6669672a097265706f72745f69642a0f76696f6c6174696f6e5f73746172742a1076696f6c6174696e675f72616e676573300130023003300440004000400040004a10080010001a00200028003000380040005a007005700670077a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2016c0a077072696d61727910001a077a6f6e655f69641a0a7375627a6f6e655f69641a04747970651a06636f6e6669671a097265706f72745f69641a0f76696f6c6174696f6e5f73746172741a1076696f6c6174696e675f72616e67657320012002200320042005200620072800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800301880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89a28a89","value":"030a92050a1f7265706c69636174696f6e5f637269746963616c5f6c6f63616c6974696573181a200128013a00422c0a077a6f6e655f696410011a0c08011040180030005014600020003000680070007800800100880100980100422f0a0a7375627a6f6e655f696410021a0c08011040180030005014600020003000680070007800800100880100980100422d0a086c6f63616c69747910031a0c08071000180030005019600020003000680070007800800100880100980100422e0a097265706f72745f696410041a0c0801104018003000501460002000300068007000780080010088010098010042330a0e61745f7269736b5f72616e67657310051a0c08011040180030005014600020003000680070007800800100880100980100480652a5010a077072696d6172791001180122077a6f6e655f6964220a7375627a6f6e655f696422086c6f63616c6974792a097265706f72745f69642a0e61745f7269736b5f72616e6765733001300230034000400040004a10080010001a00200028003000380040005a00700470057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201510a077072696d61727910001a077a6f6e655f69641a0a7375627a6f6e655f69641a086c6f63616c6974791a097265706f72745f69641a0e61745f7269736b5f72616e676573200120022003200420052800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89a38a89","value":"030a80070a117265706c69636174696f6e5f7374617473181b200128013a00422c0a077a6f6e655f696410011a0c08011040180030005014600020003000680070007800800100880100980100422f0a0a7375627a6f6e655f696410021a0c08011040180030005014600020003000680070007800800100880100980100422e0a097265706f72745f696410031a0c0801104018003000501460002000300068007000780080010088010098010042310a0c746f74616c5f72616e67657310041a0c0801104018003000501460002000300068007000780080010088010098010042370a12756e617661696c61626c655f72616e67657310051a0c08011040180030005014600020003000680070007800800100880100980100423c0a17756e6465725f7265706c6963617465645f72616e67657310061a0c08011040180030005014600020003000680070007800800100880100980100423b0a166f7665725f7265706c6963617465645f72616e67657310071a0c08011040180030005014600020003000680070007800800100880100980100480852e0010a077072696d6172791001180122077a6f6e655f6964220a7375627a6f6e655f69642a097265706f72745f69642a0c746f74616c5f72616e6765732a12756e617661696c61626c655f72616e6765732a17756e6465725f7265706c6963617465645f72616e6765732a166f7665725f7265706c6963617465645f72616e67657330013002400040004a10080010001a00200028003000380040005a00700370047005700670077a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2018e010a077072696d61727910001a077a6f6e655f69641a0a7375627a6f6e655f69641a097265706f72745f69641a0c746f74616c5f72616e6765731a12756e617661696c61626c655f72616e6765731a17756e6465725f7265706c6963617465645f72616e6765731a166f7665725f7265706c6963617465645f72616e67657320012002200320042005200620072800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800301880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89a48a89","value":"030aff020a0c7265706f7274735f6d657461181c200128013a0042270a02696410011a0c08011040180030005014600020003000680070007800800100880100980100422f0a0967656e65726174656410021a0d080910001800300050a009600020003000680070007800800100880100980100480352700a077072696d61727910011801220269642a0967656e657261746564300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201200a077072696d61727910001a0269641a0967656e657261746564200120022802b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89a68a89","value":"030a9e040a096e616d657370616365181e200128013a00422d0a08706172656e74494410011a0c0801104018003000501460002000300068007000780080010088010098010042330a0e706172656e74536368656d61494410021a0c0801104018003000501460002000300068007000780080010088010098010042290a046e616d6510031a0c0807100018003000501960002000300068007000780080010088010098010042270a02696410041a0c080110401800300050146000200130006800700078008001008801009801004805528d010a077072696d617279100118012208706172656e744944220e706172656e74536368656d61494422046e616d652a0269643001300230034000400040004a10080010001a00200028003000380040005a0070047a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800101880103980100b201330a077072696d61727910001a08706172656e7449441a0e706172656e74536368656d6149441a046e616d652001200220032800b201140a0866616d5f345f696410041a02696420042804b80105c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89a78a89","value":"030aa8050a1170726f7465637465645f74735f6d657461181f200128013a0042340a0973696e676c65746f6e10011a0c08001000180030005010600020002a04747275653000680070007800800100880100980100422c0a0776657273696f6e10021a0c0801104018003000501460002000300068007000780080010088010098010042300a0b6e756d5f7265636f72647310031a0c08011040180030005014600020003000680070007800800100880100980100422e0a096e756d5f7370616e7310041a0c0801104018003000501460002000300068007000780080010088010098010042300a0b746f74616c5f627974657310051a0c08011040180030005014600020003000680070007800800100880100980100480652a0010a077072696d61727910011801220973696e676c65746f6e2a0776657273696f6e2a0b6e756d5f7265636f7264732a096e756d5f7370616e732a0b746f74616c5f6279746573300140004a10080010001a00200028003000380040005a0070027003700470057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800101880103980100a201260a0973696e676c65746f6e120f636865636b5f73696e676c65746f6e18002801300038004002b201500a077072696d61727910001a0973696e676c65746f6e1a0776657273696f6e1a0b6e756d5f7265636f7264731a096e756d5f7370616e731a0b746f74616c5f6279746573200120022003200420052800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89a88a89","value":"030a8c060a1470726f7465637465645f74735f7265636f7264731820200128013a0042280a02696410011a0d080e10001800300050861760002000300068007000780080010088010098010042280a02747310021a0d080310001800300050a40d600020003000680070007800800100880100980100422e0a096d6574615f7479706510031a0c0807100018003000501960002000300068007000780080010088010098010042290a046d65746110041a0c08081000180030005011600020013000680070007800800100880100980100422e0a096e756d5f7370616e7310051a0c08011040180030005014600020003000680070007800800100880100980100422a0a057370616e7310061a0c0808100018003000501160002000300068007000780080010088010098010042340a08766572696669656410071a0c08001000180030005010600020002a0566616c73653000680070007800800100880100980100422b0a0674617267657410081a0c08081000180030005011600020013000680070007800800100880100980100480952aa010a077072696d61727910011801220269642a0274732a096d6574615f747970652a046d6574612a096e756d5f7370616e732a057370616e732a0876657269666965642a06746172676574300140004a10080010001a00200028003000380040005a0070027003700470057006700770087a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800101880103980100b2015a0a077072696d61727910001a0269641a0274731a096d6574615f747970651a046d6574611a096e756d5f7370616e731a057370616e731a0876657269666965641a06746172676574200120022003200420052006200720082800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89a98a89","value":"030a84050a0c726f6c655f6f7074696f6e731821200128013a00422d0a08757365726e616d6510011a0c08071000180030005019600020003000680070007800800100880100980100422b0a066f7074696f6e10021a0c08071000180030005019600020003000680070007800800100880100980100422a0a0576616c756510031a0c08071000180030005019600020013000680070007800800100880100980100422c0a07757365725f696410041a0c080c100018003000501a60002000300068007000780080010088010098010048055289010a077072696d617279100118012208757365726e616d6522066f7074696f6e2a0576616c75652a07757365725f696430013002400040004a10080010001a00200028003000380040005a00700370047a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a760a1175736572735f757365725f69645f696478100218002207757365725f696430043801380240004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201370a077072696d61727910001a08757365726e616d651a066f7074696f6e1a0576616c75651a07757365725f696420012002200320042800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89aa8a89","value":"030ada030a1773746174656d656e745f62756e646c655f6368756e6b731822200128013a0042370a02696410011a0c08011040180030005014600020002a0e756e697175655f726f7769642829300068007000780080010088010098010042300a0b6465736372697074696f6e10021a0c0807100018003000501960002001300068007000780080010088010098010042290a046461746110031a0c080810001800300050116000200030006800700078008001008801009801004804527a0a077072696d61727910011801220269642a0b6465736372697074696f6e2a0464617461300140004a10080010001a00200028003000380040005a00700270037a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2012a0a077072696d61727910001a0269641a0b6465736372697074696f6e1a04646174612001200220032800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89ab8a89","value":"030ae50c0a1e73746174656d656e745f646961676e6f73746963735f72657175657374731823200128013a0042370a02696410011a0c08011040180030005014600020002a0e756e697175655f726f7769642829300068007000780080010088010098010042350a09636f6d706c6574656410021a0c08001000180030005010600020002a0566616c73653000680070007800800100880100980100423a0a1573746174656d656e745f66696e6765727072696e7410031a0c08071000180030005019600020003000680070007800800100880100980100423d0a1873746174656d656e745f646961676e6f73746963735f696410041a0c0801104018003000501460002001300068007000780080010088010098010042320a0c7265717565737465645f617410051a0d080910001800300050a00960002000300068007000780080010088010098010042410a156d696e5f657865637574696f6e5f6c6174656e637910061a13080610001800300050a20960006a04080010002001300068007000780080010088010098010042300a0a657870697265735f617410071a0d080910001800300050a009600020013000680070007800800100880100980100423a0a1473616d706c696e675f70726f626162696c69747910081a0d080210401800300050bd05600020013000680070007800800100880100980100422e0a09706c616e5f6769737410091a0c0807100018003000501960002001300068007000780080010088010098010042330a0e616e74695f706c616e5f67697374100a1a0c0800100018003000501060002001300068007000780080010088010098010042340a087265646163746564100b1a0c08001000180030005010600020002a0566616c73653000680070007800800100880100980100480c529f020a077072696d61727910011801220269642a09636f6d706c657465642a1573746174656d656e745f66696e6765727072696e742a1873746174656d656e745f646961676e6f73746963735f69642a0c7265717565737465645f61742a156d696e5f657865637574696f6e5f6c6174656e63792a0a657870697265735f61742a1473616d706c696e675f70726f626162696c6974792a09706c616e5f676973742a0e616e74695f706c616e5f676973742a087265646163746564300140004a10080010001a00200028003000380040005a0070027003700470057006700770087009700a700b7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005afb010a0d636f6d706c657465645f696478100218002209636f6d706c65746564220269642a1573746174656d656e745f66696e6765727072696e742a156d696e5f657865637574696f6e5f6c6174656e63792a0a657870697265735f61742a1473616d706c696e675f70726f626162696c6974792a09706c616e5f676973742a0e616e74695f706c616e5f676973742a08726564616374656430023001400040004a10080010001a00200028003000380040005a0070037006700770087009700a700b7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100a201620a3a73616d706c696e675f70726f626162696c697479204245545745454e20302e303a3a3a464c4f41543820414e4420312e303a3a3a464c4f415438121a636865636b5f73616d706c696e675f70726f626162696c69747918002808300038004002b201cf010a077072696d61727910001a0269641a09636f6d706c657465641a1573746174656d656e745f66696e6765727072696e741a1873746174656d656e745f646961676e6f73746963735f69641a0c7265717565737465645f61741a156d696e5f657865637574696f6e5f6c6174656e63791a0a657870697265735f61741a1473616d706c696e675f70726f626162696c6974791a09706c616e5f676973741a0e616e74695f706c616e5f676973741a087265646163746564200120022003200420052006200720082009200a200b2800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89ac8a89","value":"030abe060a1573746174656d656e745f646961676e6f73746963731824200128013a0042370a02696410011a0c08011040180030005014600020002a0e756e697175655f726f77696428293000680070007800800100880100980100423a0a1573746174656d656e745f66696e6765727072696e7410021a0c08071000180030005019600020003000680070007800800100880100980100422e0a0973746174656d656e7410031a0c0807100018003000501960002000300068007000780080010088010098010042320a0c636f6c6c65637465645f617410041a0d080910001800300050a009600020003000680070007800800100880100980100422b0a05747261636510051a0d081210001800300050da1d60002001300068007000780080010088010098010042430a0d62756e646c655f6368756e6b7310061a1d080f104018003000380150f8075a0c080110401800300050146000600020013000680070007800800100880100980100422a0a056572726f7210071a0c08071000180030005019600020013000680070007800800100880100980100480852bc010a077072696d61727910011801220269642a1573746174656d656e745f66696e6765727072696e742a0973746174656d656e742a0c636f6c6c65637465645f61742a0574726163652a0d62756e646c655f6368756e6b732a056572726f72300140004a10080010001a00200028003000380040005a007002700370047005700670077a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2016c0a077072696d61727910001a0269641a1573746174656d656e745f66696e6765727072696e741a0973746174656d656e741a0c636f6c6c65637465645f61741a0574726163651a0d62756e646c655f6368756e6b731a056572726f7220012002200320042005200620072800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89ad8a89","value":"030ad3090a0e7363686564756c65645f6a6f62731825200128013a0042400a0b7363686564756c655f696410011a0c08011040180030005014600020002a0e756e697175655f726f7769642829300068007000780080010088010098010042320a0d7363686564756c655f6e616d6510021a0c0807100018003000501960002000300068007000780080010088010098010042420a076372656174656410031a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a3000680070007800800100880100980100422a0a056f776e657210041a0c08071000180030005019600020003000680070007800800100880100980100422e0a086e6578745f72756e10051a0d080910001800300050a00960002001300068007000780080010088010098010042330a0e7363686564756c655f737461746510061a0c0808100018003000501160002001300068007000780080010088010098010042320a0d7363686564756c655f6578707210071a0c0807100018003000501960002001300068007000780080010088010098010042350a107363686564756c655f64657461696c7310081a0c0808100018003000501160002001300068007000780080010088010098010042320a0d6578656375746f725f7479706510091a0c0807100018003000501960002000300068007000780080010088010098010042330a0e657865637574696f6e5f61726773100a1a0c08081000180030005011600020003000680070007800800100880100980100480b52f7010a077072696d61727910011801220b7363686564756c655f69642a0d7363686564756c655f6e616d652a07637265617465642a056f776e65722a086e6578745f72756e2a0e7363686564756c655f73746174652a0d7363686564756c655f657870722a107363686564756c655f64657461696c732a0d6578656375746f725f747970652a0e657865637574696f6e5f61726773300140004a10080010001a00200028003000380040005a0070027003700470057006700770087009700a7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a700a0c6e6578745f72756e5f6964781002180022086e6578745f72756e3005380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201380a05736368656410001a0b7363686564756c655f69641a086e6578745f72756e1a0e7363686564756c655f73746174652001200520062800b201780a056f7468657210011a0d7363686564756c655f6e616d651a07637265617465641a056f776e65721a0d7363686564756c655f657870721a107363686564756c655f64657461696c731a0d6578656375746f725f747970651a0e657865637574696f6e5f61726773200220032004200720082009200a2800b80102c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89af8a89","value":"030aec030a0b73716c6c6976656e6573731827200128013a00422f0a0a73657373696f6e5f696410011a0c0808100018003000501160002000300068007000780080010088010098010042300a0a65787069726174696f6e10021a0d080310001800300050a40d60002000300068007000780080010088010098010042300a0b637264625f726567696f6e10031a0c080810001800300050116000200030006800700078008001008801009801004804528a010a077072696d61727910021801220b637264625f726567696f6e220a73657373696f6e5f69642a0a65787069726174696f6e30033001400040004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201380a077072696d61727910001a0b637264625f726567696f6e1a0a73657373696f6e5f69641a0a65787069726174696f6e2003200120022802b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89b08a89","value":"030ad9040a0a6d6967726174696f6e731828200128013a00422a0a056d616a6f7210011a0c08011040180030005014600020003000680070007800800100880100980100422a0a056d696e6f7210021a0c08011040180030005014600020003000680070007800800100880100980100422a0a05706174636810031a0c08011040180030005014600020003000680070007800800100880100980100422d0a08696e7465726e616c10041a0c0801104018003000501460002000300068007000780080010088010098010042320a0c636f6d706c657465645f617410051a0d080910001800300050a0096000200030006800700078008001008801009801004806529a010a077072696d6172791001180122056d616a6f7222056d696e6f72220570617463682208696e7465726e616c2a0c636f6d706c657465645f6174300130023003300440004000400040004a10080010001a00200028003000380040005a0070057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201440a077072696d61727910001a056d616a6f721a056d696e6f721a0570617463681a08696e7465726e616c1a0c636f6d706c657465645f6174200120022003200420052805b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89b18a89","value":"030ac3030a0b6a6f696e5f746f6b656e731829200128013a0042280a02696410011a0d080e100018003000508617600020003000680070007800800100880100980100422b0a0673656372657410021a0c0808100018003000501160002000300068007000780080010088010098010042300a0a65787069726174696f6e10031a0d080910001800300050a0096000200030006800700078008001008801009801004804527b0a077072696d61727910011801220269642a067365637265742a0a65787069726174696f6e300140004a10080010001a00200028003000380040005a00700270037a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2012b0a077072696d61727910001a0269641a067365637265741a0a65787069726174696f6e2001200220032800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89b28a89","value":"030a8f280a1473746174656d656e745f73746174697374696373182a200128013a0042330a0d616767726567617465645f747310011a0d080910001800300050a00960002000300068007000780080010088010098010042330a0e66696e6765727072696e745f696410021a0c08081000180030005011600020003000680070007800800100880100980100423f0a1a7472616e73616374696f6e5f66696e6765727072696e745f696410031a0c08081000180030005011600020003000680070007800800100880100980100422e0a09706c616e5f6861736810041a0c08081000180030005011600020003000680070007800800100880100980100422d0a086170705f6e616d6510051a0c08071000180030005019600020003000680070007800800100880100980100422c0a076e6f64655f696410061a0c0801104018003000501460002000300068007000780080010088010098010042380a0c6167675f696e74657276616c10071a13080610001800300050a20960006a040800100020003000680070007800800100880100980100422e0a086d6574616461746110081a0d081210001800300050da1d60002000300068007000780080010088010098010042300a0a7374617469737469637310091a0d081210001800300050da1d600020003000680070007800800100880100980100422a0a04706c616e100a1a0d081210001800300050da1d600020003000680070007800800100880100980100429c020a68637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f38100b1a0c080110201800300050176000200030015a8c016d6f6428666e76333228637264625f696e7465726e616c2e646174756d735f746f5f627974657328616767726567617465645f74732c206170705f6e616d652c2066696e6765727072696e745f69642c206e6f64655f69642c20706c616e5f686173682c207472616e73616374696f6e5f66696e6765727072696e745f696429292c20383a3a3a494e543829680070007800800100880100980100425f0a15696e6465785f7265636f6d6d656e646174696f6e73100c1a1d080f100018003000380750f1075a0c080710001800300050196000600020002a1241525241595b5d3a3a3a535452494e475b5d3000680070007800800100880100980100426c0a0d696e64657865735f7573616765100d1a0d081210001800300050da1d6000200130005a3728737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e27696e6465786573273a3a3a535452494e4768007000780080010188010098010042710a0f657865637574696f6e5f636f756e74100e1a0c080110401800300050146000200130005a3b2828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e27636e74273a3a3a535452494e47293a3a494e5438680070007800800100880100980100428a010a0f736572766963655f6c6174656e6379100f1a0d080210401800300050bd056000200130005a53282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e277376634c6174273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f4154386800700078008001008801009801004297010a0d6370755f73716c5f6e616e6f7310101a0d080210401800300050bd056000200130005a62282828737461746973746963732d3e27657865637574696f6e5f73746174697374696373273a3a3a535452494e47292d3e2763707553514c4e616e6f73273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100429c010a0f636f6e74656e74696f6e5f74696d6510111a0d080210401800300050bd056000200130005a65282828737461746973746963732d3e27657865637574696f6e5f73746174697374696373273a3a3a535452494e47292d3e27636f6e74656e74696f6e54696d65273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f41543868007000780080010088010098010042dc010a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d6510121a0d080210401800300050bd056000200130005a95012828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e3e27636e74273a3a3a535452494e47293a3a464c4f415438202a20282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e277376634c6174273a3a3a535452494e47292d3e3e276d65616e273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100428a010a0b7039395f6c6174656e637910131a0d080210401800300050bd056000200130005a57282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e276c6174656e6379496e666f273a3a3a535452494e47292d3e27703939273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100481452c2050a077072696d617279100118012268637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f38220d616767726567617465645f7473220e66696e6765727072696e745f6964221a7472616e73616374696f6e5f66696e6765727072696e745f69642209706c616e5f6861736822086170705f6e616d6522076e6f64655f69642a0c6167675f696e74657276616c2a086d657461646174612a0a737461746973746963732a04706c616e2a15696e6465785f7265636f6d6d656e646174696f6e732a0f657865637574696f6e5f636f756e742a0f736572766963655f6c6174656e63792a0d6370755f73716c5f6e616e6f732a0f636f6e74656e74696f6e5f74696d652a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d652a0b7039395f6c6174656e6379300b30013002300330043005300640004000400040004000400040004a10080010001a00200028003000380040005a00700770087009700a700c700e700f70107011701270137a0408002000800100880100900104980101a201c70108011268637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f381808220d616767726567617465645f747322086170705f6e616d65220e66696e6765727072696e745f696422076e6f64655f69642209706c616e5f68617368221a7472616e73616374696f6e5f66696e6765727072696e745f6964a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005aa7010a1566696e6765727072696e745f73746174735f69647810021800220e66696e6765727072696e745f6964221a7472616e73616374696f6e5f66696e6765727072696e745f696430023003380b3801380438053806400040004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a89010a11696e64657865735f75736167655f69647810031800220d696e64657865735f7573616765300d380b38013802380338043805380640004a10080010001a00200028003000380040005a007a0408002000800101880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100d80100e00100e90100000000000000005acf010a13657865637574696f6e5f636f756e745f69647810041800220d616767726567617465645f747322086170705f6e616d65220f657865637574696f6e5f636f756e7430013005300e380b38023803380438064000400040014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e90100000000000000005ad1010a13736572766963655f6c6174656e63795f69647810051800220d616767726567617465645f747322086170705f6e616d65220f736572766963655f6c6174656e637930013005300f380b38023803380438064000400040014a10080010001a00200028003000380040005a00680f7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e90100000000000000005acd010a116370755f73716c5f6e616e6f735f69647810061800220d616767726567617465645f747322086170705f6e616d65220d6370755f73716c5f6e616e6f73300130053010380b38023803380438064000400040014a10080010001a00200028003000380040005a0068107a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e90100000000000000005ad1010a13636f6e74656e74696f6e5f74696d655f69647810071800220d616767726567617465645f747322086170705f6e616d65220f636f6e74656e74696f6e5f74696d65300130053011380b38023803380438064000400040014a10080010001a00200028003000380040005a0068117a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e90100000000000000005aef010a22746f74616c5f657374696d617465645f657865637574696f6e5f74696d655f69647810081800220d616767726567617465645f747322086170705f6e616d65221e746f74616c5f657374696d617465645f657865637574696f6e5f74696d65300130053012380b38023803380438064000400040014a10080010001a00200028003000380040005a0068127a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e90100000000000000005ac9010a0f7039395f6c6174656e63795f69647810091800220d616767726567617465645f747322086170705f6e616d65220b7039395f6c6174656e6379300130053013380b38023803380438064000400040014a10080010001a00200028003000380040005a0068137a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e9010000000000000000600a6a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800101880103980100a201b9020abc01637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f3820494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e543829126e636865636b5f637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f381800280b300038014002b201a4030a077072696d61727910001a68637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f706c616e5f686173685f7472616e73616374696f6e5f66696e6765727072696e745f69645f73686172645f381a0d616767726567617465645f74731a0e66696e6765727072696e745f69641a1a7472616e73616374696f6e5f66696e6765727072696e745f69641a09706c616e5f686173681a086170705f6e616d651a076e6f64655f69641a0c6167675f696e74657276616c1a086d657461646174611a0a737461746973746963731a04706c616e1a15696e6465785f7265636f6d6d656e646174696f6e731a0f657865637574696f6e5f636f756e741a0f736572766963655f6c6174656e63791a0d6370755f73716c5f6e616e6f731a0f636f6e74656e74696f6e5f74696d651a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d651a0b7039395f6c6174656e6379200b200120022003200420052006200720082009200a200c200e200f20102011201220132800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89b38a89","value":"030a95200a167472616e73616374696f6e5f73746174697374696373182b200128013a0042330a0d616767726567617465645f747310011a0d080910001800300050a00960002000300068007000780080010088010098010042330a0e66696e6765727072696e745f696410021a0c08081000180030005011600020003000680070007800800100880100980100422d0a086170705f6e616d6510031a0c08071000180030005019600020003000680070007800800100880100980100422c0a076e6f64655f696410041a0c0801104018003000501460002000300068007000780080010088010098010042380a0c6167675f696e74657276616c10051a13080610001800300050a20960006a040800100020003000680070007800800100880100980100422e0a086d6574616461746110061a0d081210001800300050da1d60002000300068007000780080010088010098010042300a0a7374617469737469637310071a0d081210001800300050da1d60002000300068007000780080010088010098010042cf010a43637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f3810081a0c080110201800300050176000200030015a656d6f6428666e76333228637264625f696e7465726e616c2e646174756d735f746f5f627974657328616767726567617465645f74732c206170705f6e616d652c2066696e6765727072696e745f69642c206e6f64655f696429292c20383a3a3a494e54382968007000780080010088010098010042710a0f657865637574696f6e5f636f756e7410091a0c080110401800300050146000200130005a3b2828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e27636e74273a3a3a535452494e47293a3a494e5438680070007800800100880100980100428a010a0f736572766963655f6c6174656e6379100a1a0d080210401800300050bd056000200130005a53282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e277376634c6174273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f4154386800700078008001008801009801004297010a0d6370755f73716c5f6e616e6f73100b1a0d080210401800300050bd056000200130005a62282828737461746973746963732d3e27657865637574696f6e5f73746174697374696373273a3a3a535452494e47292d3e2763707553514c4e616e6f73273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100429c010a0f636f6e74656e74696f6e5f74696d65100c1a0d080210401800300050bd056000200130005a65282828737461746973746963732d3e27657865637574696f6e5f73746174697374696373273a3a3a535452494e47292d3e27636f6e74656e74696f6e54696d65273a3a3a535452494e47292d3e276d65616e273a3a3a535452494e47293a3a464c4f41543868007000780080010088010098010042dc010a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d65100d1a0d080210401800300050bd056000200130005a95012828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e3e27636e74273a3a3a535452494e47293a3a464c4f415438202a20282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e277376634c6174273a3a3a535452494e47292d3e3e276d65616e273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100428a010a0b7039395f6c6174656e6379100e1a0d080210401800300050bd056000200130005a57282828737461746973746963732d3e2773746174697374696373273a3a3a535452494e47292d3e276c6174656e6379496e666f273a3a3a535452494e47292d3e27703939273a3a3a535452494e47293a3a464c4f415438680070007800800100880100980100480f5280040a077072696d617279100118012243637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f38220d616767726567617465645f7473220e66696e6765727072696e745f696422086170705f6e616d6522076e6f64655f69642a0c6167675f696e74657276616c2a086d657461646174612a0a737461746973746963732a0f657865637574696f6e5f636f756e742a0f736572766963655f6c6174656e63792a0d6370755f73716c5f6e616e6f732a0f636f6e74656e74696f6e5f74696d652a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d652a0b7039395f6c6174656e637930083001300230033004400040004000400040004a10080010001a00200028003000380040005a007005700670077009700a700b700c700d700e7a0408002000800100880100900104980101a2017b08011243637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f381808220d616767726567617465645f747322086170705f6e616d65220e66696e6765727072696e745f696422076e6f64655f6964a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a85010a1566696e6765727072696e745f73746174735f69647810021800220e66696e6765727072696e745f69643002380838013803380440004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005acb010a13657865637574696f6e5f636f756e745f69647810031800220d616767726567617465645f747322086170705f6e616d65220f657865637574696f6e5f636f756e743001300330093808380238044000400040014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e90100000000000000005acd010a13736572766963655f6c6174656e63795f69647810041800220d616767726567617465645f747322086170705f6e616d65220f736572766963655f6c6174656e637930013003300a3808380238044000400040014a10080010001a00200028003000380040005a00680a7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e90100000000000000005ac9010a116370755f73716c5f6e616e6f735f69647810051800220d616767726567617465645f747322086170705f6e616d65220d6370755f73716c5f6e616e6f7330013003300b3808380238044000400040014a10080010001a00200028003000380040005a00680b7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e90100000000000000005acd010a13636f6e74656e74696f6e5f74696d655f69647810061800220d616767726567617465645f747322086170705f6e616d65220f636f6e74656e74696f6e5f74696d6530013003300c3808380238044000400040014a10080010001a00200028003000380040005a00680c7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e90100000000000000005aeb010a22746f74616c5f657374696d617465645f657865637574696f6e5f74696d655f69647810071800220d616767726567617465645f747322086170705f6e616d65221e746f74616c5f657374696d617465645f657865637574696f6e5f74696d6530013003300d3808380238044000400040014a10080010001a00200028003000380040005a00680d7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e90100000000000000005ac5010a0f7039395f6c6174656e63795f69647810081800220d616767726567617465645f747322086170705f6e616d65220b7039395f6c6174656e637930013003300e3808380238044000400040014a10080010001a00200028003000380040005a00680e7a0408002000800100880100900103980100a20106080012001800a80100b20100ba01286170705f6e616d65204e4f54204c494b4520272420696e7465726e616c25273a3a3a535452494e47c00100c80100d00100e00100e901000000000000000060096a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800101880103980100a201ef010a9701637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f3820494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e5438291249636865636b5f637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f3818002808300038014002b201b3020a077072696d61727910001a43637264625f696e7465726e616c5f616767726567617465645f74735f6170705f6e616d655f66696e6765727072696e745f69645f6e6f64655f69645f73686172645f381a0d616767726567617465645f74731a0e66696e6765727072696e745f69641a086170705f6e616d651a076e6f64655f69641a0c6167675f696e74657276616c1a086d657461646174611a0a737461746973746963731a0f657865637574696f6e5f636f756e741a0f736572766963655f6c6174656e63791a0d6370755f73716c5f6e616e6f731a0f636f6e74656e74696f6e5f74696d651a1e746f74616c5f657374696d617465645f657865637574696f6e5f74696d651a0b7039395f6c6174656e6379200820012002200320042005200620072009200a200b200c200d200e2800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89b48a89","value":"030af3050a1664617461626173655f726f6c655f73657474696e6773182c200128013a0042300a0b64617461626173655f696410011a0c080c100018003000501a600020003000680070007800800100880100980100422e0a09726f6c655f6e616d6510021a0c08071000180030005019600020003000680070007800800100880100980100423e0a0873657474696e677310031a1d080f100018003000380750f1075a0c080710001800300050196000600020003000680070007800800100880100980100422c0a07726f6c655f696410041a0c080c100018003000501a60002000300068007000780080010088010098010048055292010a077072696d61727910011801220b64617461626173655f69642209726f6c655f6e616d652a0873657474696e67732a07726f6c655f696430013002400040004a10080010001a00200028003000380040005a00700370047a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00102e00100e90100000000000000005aae010a2e64617461626173655f726f6c655f73657474696e67735f64617461626173655f69645f726f6c655f69645f6b657910021801220b64617461626173655f69642207726f6c655f69642a0873657474696e6773300130043802400040004a10080010001a00200028003000380040005a0070037a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201400a077072696d61727910001a0b64617461626173655f69641a09726f6c655f6e616d651a0873657474696e67731a07726f6c655f696420012002200320042800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89b58a89","value":"030ac00b0a0c74656e616e745f7573616765182d200128013a00422e0a0974656e616e745f696410011a0c0801104018003000501460002000300068007000780080010088010098010042300a0b696e7374616e63655f696410021a0c0801104018003000501460002000300068007000780080010088010098010042350a106e6578745f696e7374616e63655f696410031a0c0801104018003000501460002000300068007000780080010088010098010042310a0b6c6173745f75706461746510041a0d080510001800300050da0860002000300068007000780080010088010098010042340a0e72755f62757273745f6c696d697410051a0d080210401800300050bd0560002001300068007000780080010088010098010042340a0e72755f726566696c6c5f7261746510061a0d080210401800300050bd0560002001300068007000780080010088010098010042300a0a72755f63757272656e7410071a0d080210401800300050bd0560002001300068007000780080010088010098010042370a1163757272656e745f73686172655f73756d10081a0d080210401800300050bd0560002001300068007000780080010088010098010042360a11746f74616c5f636f6e73756d7074696f6e10091a0c0808100018003000501160002001300068007000780080010088010098010042330a0e696e7374616e63655f6c65617365100a1a0c0808100018003000501160002001300068007000780080010088010098010042310a0c696e7374616e63655f736571100b1a0c0801104018003000501460002001300068007000780080010088010098010042350a0f696e7374616e63655f736861726573100c1a0d080210401800300050bd0560002001300068007000780080010088010098010042320a0d63757272656e745f7261746573100d1a0c08081000180030005011600020013000680070007800800100880100980100422f0a0a6e6578745f7261746573100e1a0c08081000180030005011600020013000680070007800800100880100980100480f52ce020a077072696d61727910011801220974656e616e745f6964220b696e7374616e63655f69642a106e6578745f696e7374616e63655f69642a0b6c6173745f7570646174652a0e72755f62757273745f6c696d69742a0e72755f726566696c6c5f726174652a0a72755f63757272656e742a1163757272656e745f73686172655f73756d2a11746f74616c5f636f6e73756d7074696f6e2a0e696e7374616e63655f6c656173652a0c696e7374616e63655f7365712a0f696e7374616e63655f7368617265732a0d63757272656e745f72617465732a0a6e6578745f726174657330013002400040004a10080010001a00200028003000380040005a007003700470057006700770087009700a700b700c700d700e7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201fc010a077072696d61727910001a0974656e616e745f69641a0b696e7374616e63655f69641a106e6578745f696e7374616e63655f69641a0b6c6173745f7570646174651a0e72755f62757273745f6c696d69741a0e72755f726566696c6c5f726174651a0a72755f63757272656e741a1163757272656e745f73686172655f73756d1a11746f74616c5f636f6e73756d7074696f6e1a0e696e7374616e63655f6c656173651a0c696e7374616e63655f7365711a0f696e7374616e63655f7368617265731a0d63757272656e745f72617465731a0a6e6578745f7261746573200120022003200420052006200720082009200a200b200c200d200e2800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800301880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89b68a89","value":"030ac8060a0d73716c5f696e7374616e636573182e200128013a0042270a02696410011a0c0801104018003000501460002000300068007000780080010088010098010042290a046164647210021a0c08071000180030005019600020013000680070007800800100880100980100422f0a0a73657373696f6e5f696410031a0c08081000180030005011600020013000680070007800800100880100980100422e0a086c6f63616c69747910041a0d081210001800300050da1d600020013000680070007800800100880100980100422d0a0873716c5f6164647210051a0c0807100018003000501960002001300068007000780080010088010098010042300a0b637264625f726567696f6e10061a0c0808100018003000501160002000300068007000780080010088010098010042330a0e62696e6172795f76657273696f6e10071a0c0807100018003000501960002001300068007000780080010088010098010042300a0b69735f647261696e696e6710081a0c08001000180030005010600020013000680070007800800100880100980100480952c3010a077072696d61727910021801220b637264625f726567696f6e220269642a04616464722a0a73657373696f6e5f69642a086c6f63616c6974792a0873716c5f616464722a0e62696e6172795f76657273696f6e2a0b69735f647261696e696e6730063001400040004a10080010001a00200028003000380040005a007002700370047005700770087a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201710a077072696d61727910001a0269641a04616464721a0a73657373696f6e5f69641a086c6f63616c6974791a0873716c5f616464721a0b637264625f726567696f6e1a0e62696e6172795f76657273696f6e1a0b69735f647261696e696e67200120022003200420052006200720082800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89b78a89","value":"030a87040a137370616e5f636f6e66696775726174696f6e73182f200128013a00422e0a0973746172745f6b657910011a0c08081000180030005011600020003000680070007800800100880100980100422c0a07656e645f6b657910021a0c08081000180030005011600020003000680070007800800100880100980100422b0a06636f6e66696710031a0c080810001800300050116000200030006800700078008001008801009801004804527f0a077072696d61727910011801220973746172745f6b65792a07656e645f6b65792a06636f6e666967300140004a10080010001a00200028003000380040005a00700270037a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100a2012f0a1373746172745f6b6579203c20656e645f6b6579120c636865636b5f626f756e6473180028012802300038004002b2012f0a077072696d61727910001a0973746172745f6b65791a07656e645f6b65791a06636f6e6669672001200220032800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800301880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89b88a89","value":"030ad9020a0b726f6c655f69645f7365711830200128013a00422a0a0576616c756510011a0c08011040180030005014600020003000680070007800800100880100980100480052660a077072696d61727910011800220576616c7565300140004a10080010001a00200028003000380040005a007a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060006a250a0d0a0561646d696e10a00618a0060a0c0a04726f6f7410a00618a00612046e6f64651803800100880103980100b201160a077072696d61727910001a0576616c756520012801b80100c20100e2011a0801106418ffffffff0720642800320408001000380142004800e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880300a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89ba8a89","value":"030af0050a0f74656e616e745f73657474696e67731832200128013a00422e0a0974656e616e745f696410011a0c0801104018003000501460002000300068007000780080010088010098010042290a046e616d6510021a0c08071000180030005019600020003000680070007800800100880100980100422a0a0576616c756510031a0c0807100018003000501960002000300068007000780080010088010098010042450a0c6c6173745f7570646174656410041a0d080510001800300050da08600020002a116e6f7728293a3a3a54494d455354414d503000680070007800800100880100980100422f0a0a76616c75655f7479706510051a0c08071000180030005019600020003000680070007800800100880100980100422b0a06726561736f6e10061a0c08071000180030005019600020013000680070007800800100880100980100480752a5010a077072696d61727910011801220974656e616e745f696422046e616d652a0576616c75652a0c6c6173745f757064617465642a0a76616c75655f747970652a06726561736f6e30013002400040004a10080010001a00200028003000380040005a0070037004700570067a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b20185010a3966616d5f305f74656e616e745f69645f6e616d655f76616c75655f6c6173745f757064617465645f76616c75655f747970655f726561736f6e10001a0974656e616e745f69641a046e616d651a0576616c75651a0c6c6173745f757064617465641a0a76616c75655f747970651a06726561736f6e2001200220032004200520062800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89bb8a89","value":"030abe030a0a7370616e5f636f756e741833200128013a0042340a0973696e676c65746f6e10011a0c08001000180030005010600020002a04747275653000680070007800800100880100980100422f0a0a7370616e5f636f756e7410021a0c08011040180030005014600020003000680070007800800100880100980100480352780a077072696d61727910011801220973696e676c65746f6e2a0a7370616e5f636f756e74300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100a201210a0973696e676c65746f6e120a73696e676c655f726f7718002801300038004002b201280a077072696d61727910001a0973696e676c65746f6e1a0a7370616e5f636f756e74200120022802b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89bc8a89","value":"030adf070a0a70726976696c656765731834200128013a00422d0a08757365726e616d6510011a0c0807100018003000501960002000300068007000780080010088010098010042290a047061746810021a0c0807100018003000501960002000300068007000780080010088010098010042400a0a70726976696c6567657310031a1d080f100018003000380750f1075a0c08071000180030005019600060002000300068007000780080010088010098010042430a0d6772616e745f6f7074696f6e7310041a1d080f100018003000380750f1075a0c080710001800300050196000600020003000680070007800800100880100980100422c0a07757365725f696410051a0c080c100018003000501a6000200030006800700078008001008801009801004806529d010a077072696d617279100118012208757365726e616d652204706174682a0a70726976696c656765732a0d6772616e745f6f7074696f6e732a07757365725f696430013002400040004a10080010001a00200028003000380040005a007003700470057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00103e00100e90100000000000000005aa7010a1b70726976696c656765735f706174685f757365725f69645f6b6579100218012204706174682207757365725f69642a0a70726976696c656765732a0d6772616e745f6f7074696f6e73300230053801400040004a10080010001a00200028003000380040005a00700370047a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005aa7010a1c70726976696c656765735f706174685f757365726e616d655f6b6579100318012204706174682208757365726e616d652a0a70726976696c656765732a0d6772616e745f6f7074696f6e7330023001400040004a10080010001a00200028003000380040005a00700370047a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00102e00100e901000000000000000060046a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2014b0a077072696d61727910001a08757365726e616d651a04706174681a0a70726976696c656765731a0d6772616e745f6f7074696f6e731a07757365725f6964200120022003200420052800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880304a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89bd8a89","value":"030ada060a1465787465726e616c5f636f6e6e656374696f6e731835200128013a0042340a0f636f6e6e656374696f6e5f6e616d6510011a0c0807100018003000501960002000300068007000780080010088010098010042400a076372656174656410021a0d080510001800300050da08600020002a116e6f7728293a3a3a54494d455354414d50300068007000780080010088010098010042400a077570646174656410031a0d080510001800300050da08600020002a116e6f7728293a3a3a54494d455354414d50300068007000780080010088010098010042340a0f636f6e6e656374696f6e5f7479706510041a0c0807100018003000501960002000300068007000780080010088010098010042370a12636f6e6e656374696f6e5f64657461696c7310051a0c08081000180030005011600020003000680070007800800100880100980100422a0a056f776e657210061a0c08071000180030005019600020003000680070007800800100880100980100422d0a086f776e65725f696410071a0c080c100018003000501a600020003000680070007800800100880100980100480852c4010a077072696d61727910011801220f636f6e6e656374696f6e5f6e616d652a07637265617465642a07757064617465642a0f636f6e6e656374696f6e5f747970652a12636f6e6e656374696f6e5f64657461696c732a056f776e65722a086f776e65725f6964300140004a10080010001a00200028003000380040005a007002700370047005700670077a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201740a077072696d61727910001a0f636f6e6e656374696f6e5f6e616d651a07637265617465641a07757064617465641a0f636f6e6e656374696f6e5f747970651a12636f6e6e656374696f6e5f64657461696c731a056f776e65721a086f776e65725f696420012002200320042005200620072800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89be8a89","value":"030aa0040a086a6f625f696e666f1836200128013a00422b0a066a6f625f696410011a0c08011040180030005014600020003000680070007800800100880100980100422d0a08696e666f5f6b657910021a0c0807100018003000501960002000300068007000780080010088010098010042420a077772697474656e10031a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a3000680070007800800100880100980100422a0a0576616c756510041a0c080810001800300050116000200130006800700078008001008801009801004805528b010a077072696d6172791001180122066a6f625f69642208696e666f5f6b657922077772697474656e2a0576616c75653001300230034000400040014a10080010001a00200028003000380040005a0070047a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201370a077072696d61727910001a066a6f625f69641a08696e666f5f6b65791a077772697474656e1a0576616c756520012002200320042804b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89bf8a89","value":"030a9c040a167370616e5f73746174735f756e697175655f6b6579731837200128013a00423b0a02696410011a0d080e100018003000508617600020002a1167656e5f72616e646f6d5f7575696428293000680070007800800100880100980100422e0a096b65795f627974657310021a0c08081000180030005011600020013000680070007800800100880100980100480352700a077072696d61727910011801220269642a096b65795f6279746573300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00102e00100e90100000000000000005a7e0a19756e697175655f6b6579735f6b65795f62797465735f6964781002180122096b65795f62797465733002380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201200a077072696d61727910001a0269641a096b65795f6279746573200120022802b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89c08a89","value":"030aff050a127370616e5f73746174735f6275636b6574731838200128013a00423b0a02696410011a0d080e100018003000508617600020002a1167656e5f72616e646f6d5f7575696428293000680070007800800100880100980100422f0a0973616d706c655f696410021a0d080e10001800300050861760002000300068007000780080010088010098010042320a0c73746172745f6b65795f696410031a0d080e10001800300050861760002000300068007000780080010088010098010042300a0a656e645f6b65795f696410041a0d080e100018003000508617600020003000680070007800800100880100980100422d0a08726571756573747310051a0c080110401800300050146000200030006800700078008001008801009801004806529a010a077072696d61727910011801220269642a0973616d706c655f69642a0c73746172745f6b65795f69642a0a656e645f6b65795f69642a087265717565737473300140004a10080010001a00200028003000380040005a0070027003700470057a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a7a0a156275636b6574735f73616d706c655f69645f69647810021800220973616d706c655f69643002380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2014a0a077072696d61727910001a0269641a0973616d706c655f69641a0c73746172745f6b65795f69641a0a656e645f6b65795f69641a087265717565737473200120022003200420052800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89c18a89","value":"030ab2040a127370616e5f73746174735f73616d706c65731839200128013a00423b0a02696410011a0d080e100018003000508617600020002a1167656e5f72616e646f6d5f757569642829300068007000780080010088010098010042440a0b73616d706c655f74696d6510021a0d080510001800300050da08600020002a116e6f7728293a3a3a54494d455354414d503000680070007800800100880100980100480352720a077072696d61727910011801220269642a0b73616d706c655f74696d65300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00102e00100e90100000000000000005a7e0a1773616d706c65735f73616d706c655f74696d655f69647810021801220b73616d706c655f74696d653002380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060036a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201220a077072696d61727910001a0269641a0b73616d706c655f74696d65200120022802b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89c28a89","value":"030aa6030a1c7370616e5f73746174735f74656e616e745f626f756e646172696573183a200128013a00422e0a0974656e616e745f696410011a0c08011040180030005014600020003000680070007800800100880100980100422f0a0a626f756e64617269657310021a0c08081000180030005011600020003000680070007800800100880100980100480352780a077072696d61727910011801220974656e616e745f69642a0a626f756e646172696573300140004a10080010001a00200028003000380040005a0070027a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201280a077072696d61727910001a0974656e616e745f69641a0a626f756e646172696573200120022802b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89c38a89","value":"030aae060a0d7461736b5f7061796c6f616473183b200128013a0042270a02696410011a0c0807100018003000501960002000300068007000780080010088010098010042420a076372656174656410021a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a3000680070007800800100880100980100422a0a056f776e657210031a0c08071000180030005019600020003000680070007800800100880100980100422d0a086f776e65725f696410041a0c080c100018003000501a60002000300068007000780080010088010098010042300a0b6d696e5f76657273696f6e10051a0c0807100018003000501960002000300068007000780080010088010098010042300a0b6465736372697074696f6e10061a0c0807100018003000501960002001300068007000780080010088010098010042290a047479706510071a0c08071000180030005019600020003000680070007800800100880100980100422a0a0576616c756510081a0c08081000180030005011600020003000680070007800800100880100980100480952b2010a077072696d61727910011801220269642a07637265617465642a056f776e65722a086f776e65725f69642a0b6d696e5f76657273696f6e2a0b6465736372697074696f6e2a04747970652a0576616c7565300140004a10080010001a00200028003000380040005a0070027003700470057006700770087a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b201620a077072696d61727910001a0269641a07637265617465641a056f776e65721a086f776e65725f69641a0b6d696e5f76657273696f6e1a0b6465736372697074696f6e1a04747970651a0576616c7565200120022003200420052006200720082800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89c48a89","value":"030aff050a0c74656e616e745f7461736b73183c200128013a00422e0a0974656e616e745f696410011a0c08011040180030005014600020003000680070007800800100880100980100422b0a0669737375657210021a0c08071000180030005019600020003000680070007800800100880100980100422c0a077461736b5f696410031a0c0801104018003000501460002000300068007000780080010088010098010042420a076372656174656410041a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a3000680070007800800100880100980100422f0a0a7061796c6f61645f696410051a0c08071000180030005019600020003000680070007800800100880100980100422a0a056f776e657210061a0c08071000180030005019600020003000680070007800800100880100980100422d0a086f776e65725f696410071a0c080c100018003000501a600020003000680070007800800100880100980100480852b1010a077072696d61727910011801220974656e616e745f6964220669737375657222077461736b5f69642a07637265617465642a0a7061796c6f61645f69642a056f776e65722a086f776e65725f69643001300230034000400040004a10080010001a00200028003000380040005a0070047005700670077a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100b2015d0a077072696d61727910001a0974656e616e745f69641a066973737565721a077461736b5f69641a07637265617465641a0a7061796c6f61645f69641a056f776e65721a086f776e65725f696420012002200320042005200620072800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89c58a89","value":"030af1180a1273746174656d656e745f6163746976697479183d200128013a0042330a0d616767726567617465645f747310011a0d080910001800300050a00960002000300068007000780080010088010098010042330a0e66696e6765727072696e745f696410021a0c08081000180030005011600020003000680070007800800100880100980100423f0a1a7472616e73616374696f6e5f66696e6765727072696e745f696410031a0c08081000180030005011600020003000680070007800800100880100980100422e0a09706c616e5f6861736810041a0c08081000180030005011600020003000680070007800800100880100980100422d0a086170705f6e616d6510051a0c0807100018003000501960002000300068007000780080010088010098010042380a0c6167675f696e74657276616c10061a13080610001800300050a20960006a040800100020003000680070007800800100880100980100422e0a086d6574616461746110071a0d081210001800300050da1d60002000300068007000780080010088010098010042300a0a7374617469737469637310081a0d081210001800300050da1d600020003000680070007800800100880100980100422a0a04706c616e10091a0d081210001800300050da1d600020003000680070007800800100880100980100425f0a15696e6465785f7265636f6d6d656e646174696f6e73100a1a1d080f100018003000380750f1075a0c080710001800300050196000600020002a1241525241595b5d3a3a3a535452494e475b5d300068007000780080010088010098010042340a0f657865637574696f6e5f636f756e74100b1a0c08011040180030005014600020003000680070007800800100880100980100423d0a17657865637574696f6e5f746f74616c5f7365636f6e6473100c1a0d080210401800300050bd0560002000300068007000780080010088010098010042450a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e6473100d1a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e6473100e1a0d080210401800300050bd0560002000300068007000780080010088010098010042370a116370755f73716c5f6176675f6e616e6f73100f1a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b736572766963655f6c6174656e63795f6176675f7365636f6e647310101a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b736572766963655f6c6174656e63795f7039395f7365636f6e647310111a0d080210401800300050bd05600020003000680070007800800100880100980100481252cd030a077072696d61727910011801220d616767726567617465645f7473220e66696e6765727072696e745f6964221a7472616e73616374696f6e5f66696e6765727072696e745f69642209706c616e5f6861736822086170705f6e616d652a0c6167675f696e74657276616c2a086d657461646174612a0a737461746973746963732a04706c616e2a15696e6465785f7265636f6d6d656e646174696f6e732a0f657865637574696f6e5f636f756e742a17657865637574696f6e5f746f74616c5f7365636f6e64732a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e64732a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64732a116370755f73716c5f6176675f6e616e6f732a1b736572766963655f6c6174656e63795f6176675f7365636f6e64732a1b736572766963655f6c6174656e63795f7039395f7365636f6e647330013002300330043005400040004000400040004a10080010001a00200028003000380040005a007006700770087009700a700b700c700d700e700f701070117a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005aa0010a1266696e6765727072696e745f69645f69647810021800220e66696e6765727072696e745f6964221a7472616e73616374696f6e5f66696e6765727072696e745f696430023003380138043805400040004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a97010a13657865637574696f6e5f636f756e745f69647810031800220d616767726567617465645f7473220f657865637574696f6e5f636f756e743001300b3802380338043805400040014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aa9010a1b657865637574696f6e5f746f74616c5f7365636f6e64735f69647810041800220d616767726567617465645f74732217657865637574696f6e5f746f74616c5f7365636f6e64733001300c3802380338043805400040014a10080010001a00200028003000380040005a00680c7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ab1010a1f636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64735f69647810051800220d616767726567617465645f7473221b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64733001300e3802380338043805400040014a10080010001a00200028003000380040005a00680e7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a9d010a156370755f73716c5f6176675f6e616e6f735f69647810061800220d616767726567617465645f747322116370755f73716c5f6176675f6e616e6f733001300f3802380338043805400040014a10080010001a00200028003000380040005a00680f7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ab1010a1f736572766963655f6c6174656e63795f6176675f7365636f6e64735f69647810071800220d616767726567617465645f7473221b736572766963655f6c6174656e63795f6176675f7365636f6e6473300130103802380338043805400040014a10080010001a00200028003000380040005a0068107a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ab1010a1f736572766963655f6c6174656e63795f7039395f7365636f6e64735f69647810081800220d616767726567617465645f7473221b736572766963655f6c6174656e63795f7039395f7365636f6e6473300130113802380338043805400040014a10080010001a00200028003000380040005a0068117a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060096a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800101880103980100b201f5020a077072696d61727910001a0d616767726567617465645f74731a0e66696e6765727072696e745f69641a1a7472616e73616374696f6e5f66696e6765727072696e745f69641a09706c616e5f686173681a086170705f6e616d651a0c6167675f696e74657276616c1a086d657461646174611a0a737461746973746963731a04706c616e1a15696e6465785f7265636f6d6d656e646174696f6e731a0f657865637574696f6e5f636f756e741a17657865637574696f6e5f746f74616c5f7365636f6e64731a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e64731a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64731a116370755f73716c5f6176675f6e616e6f731a1b736572766963655f6c6174656e63795f6176675f7365636f6e64731a1b736572766963655f6c6174656e63795f7039395f7365636f6e6473200120022003200420052006200720082009200a200b200c200d200e200f201020112800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89c68a89","value":"030adc150a147472616e73616374696f6e5f6163746976697479183e200128013a0042330a0d616767726567617465645f747310011a0d080910001800300050a00960002000300068007000780080010088010098010042330a0e66696e6765727072696e745f696410021a0c08081000180030005011600020003000680070007800800100880100980100422d0a086170705f6e616d6510031a0c0807100018003000501960002000300068007000780080010088010098010042380a0c6167675f696e74657276616c10041a13080610001800300050a20960006a040800100020003000680070007800800100880100980100422e0a086d6574616461746110051a0d081210001800300050da1d60002000300068007000780080010088010098010042300a0a7374617469737469637310061a0d081210001800300050da1d600020003000680070007800800100880100980100422a0a05717565727910071a0c0807100018003000501960002000300068007000780080010088010098010042340a0f657865637574696f6e5f636f756e7410081a0c08011040180030005014600020003000680070007800800100880100980100423d0a17657865637574696f6e5f746f74616c5f7365636f6e647310091a0d080210401800300050bd0560002000300068007000780080010088010098010042450a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e6473100a1a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e6473100b1a0d080210401800300050bd0560002000300068007000780080010088010098010042370a116370755f73716c5f6176675f6e616e6f73100c1a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b736572766963655f6c6174656e63795f6176675f7365636f6e6473100d1a0d080210401800300050bd0560002000300068007000780080010088010098010042410a1b736572766963655f6c6174656e63795f7039395f7365636f6e6473100e1a0d080210401800300050bd05600020003000680070007800800100880100980100480f5286030a077072696d61727910011801220d616767726567617465645f7473220e66696e6765727072696e745f696422086170705f6e616d652a0c6167675f696e74657276616c2a086d657461646174612a0a737461746973746963732a0571756572792a0f657865637574696f6e5f636f756e742a17657865637574696f6e5f746f74616c5f7365636f6e64732a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e64732a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64732a116370755f73716c5f6176675f6e616e6f732a1b736572766963655f6c6174656e63795f6176675f7365636f6e64732a1b736572766963655f6c6174656e63795f7039395f7365636f6e64733001300230034000400040004a10080010001a00200028003000380040005a00700470057006700770087009700a700b700c700d700e7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a7e0a1266696e6765727072696e745f69645f69647810021800220e66696e6765727072696e745f696430023801380340004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a93010a13657865637574696f6e5f636f756e745f69647810031800220d616767726567617465645f7473220f657865637574696f6e5f636f756e743001300838023803400040014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aa5010a1b657865637574696f6e5f746f74616c5f7365636f6e64735f69647810041800220d616767726567617465645f74732217657865637574696f6e5f746f74616c5f7365636f6e64733001300938023803400040014a10080010001a00200028003000380040005a0068097a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aad010a1f636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64735f69647810051800220d616767726567617465645f7473221b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64733001300b38023803400040014a10080010001a00200028003000380040005a00680b7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a99010a156370755f73716c5f6176675f6e616e6f735f69647810061800220d616767726567617465645f747322116370755f73716c5f6176675f6e616e6f733001300c38023803400040014a10080010001a00200028003000380040005a00680c7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aad010a1f736572766963655f6c6174656e63795f6176675f7365636f6e64735f69647810071800220d616767726567617465645f7473221b736572766963655f6c6174656e63795f6176675f7365636f6e64733001300d38023803400040014a10080010001a00200028003000380040005a00680d7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005aad010a1f736572766963655f6c6174656e63795f7039395f7365636f6e64735f69647810081800220d616767726567617465645f7473221b736572766963655f6c6174656e63795f7039395f7365636f6e64733001300e38023803400040014a10080010001a00200028003000380040005a00680e7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060096a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800101880103980100b201b2020a077072696d61727910001a0d616767726567617465645f74731a0e66696e6765727072696e745f69641a086170705f6e616d651a0c6167675f696e74657276616c1a086d657461646174611a0a737461746973746963731a0571756572791a0f657865637574696f6e5f636f756e741a17657865637574696f6e5f746f74616c5f7365636f6e64731a1f657865637574696f6e5f746f74616c5f636c75737465725f7365636f6e64731a1b636f6e74656e74696f6e5f74696d655f6176675f7365636f6e64731a116370755f73716c5f6176675f6e616e6f731a1b736572766963655f6c6174656e63795f6176675f7365636f6e64731a1b736572766963655f6c6174656e63795f7039395f7365636f6e6473200120022003200420052006200720082009200a200b200c200d200e2800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880302a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89c78a89","value":"030adb020a0d74656e616e745f69645f736571183f200128013a00422a0a0576616c756510011a0c08011040180030005014600020003000680070007800800100880100980100480052660a077072696d61727910011800220576616c7565300140004a10080010001a00200028003000380040005a007a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060006a210a0b0a0561646d696e102018200a0a0a04726f6f741020182012046e6f64651803800100880103980100b201160a077072696d61727910001a0576616c756520012801b80100c20100e2011e0801100118ffffffffffffffff7f20012800320408001000380142004800e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880300a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89c88a89","value":"030ac50a0a0f6d7663635f737461746973746963731840200128013a0042450a0a637265617465645f617410011a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a300068007000780080010088010098010042300a0b64617461626173655f696410021a0c08011040180030005014600020003000680070007800800100880100980100422d0a087461626c655f696410031a0c08011040180030005014600020003000680070007800800100880100980100422d0a08696e6465785f696410041a0c0801104018003000501460002000300068007000780080010088010098010042300a0a7374617469737469637310051a0d081210001800300050da1d60002000300068007000780080010088010098010042ab010a3f637264625f696e7465726e616c5f637265617465645f61745f64617461626173655f69645f696e6465785f69645f7461626c655f69645f73686172645f313610061a0c080110201800300050176000200030015a456d6f6428666e763332286d643528637264625f696e7465726e616c2e646174756d735f746f5f627974657328637265617465645f61742929292c2031363a3a3a494e543829680070007800800101880100980100480752e4020a146d7663635f737461746973746963735f706b657910011801223f637264625f696e7465726e616c5f637265617465645f61745f64617461626173655f69645f696e6465785f69645f7461626c655f69645f73686172645f3136220a637265617465645f6174220b64617461626173655f696422087461626c655f69642208696e6465785f69642a0a7374617469737469637330063001300230033004400040004000400040004a10080010001a00200028003000380040005a0070057a0408002000800100880100900104980101a201720801123f637264625f696e7465726e616c5f637265617465645f61745f64617461626173655f69645f696e6465785f69645f7461626c655f69645f73686172645f31361810220a637265617465645f6174220b64617461626173655f69642208696e6465785f696422087461626c655f6964a80100b20100ba0100c00100c80100d00101e00100e901000000000000000060026a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100a201bd020ae901637264625f696e7465726e616c5f637265617465645f61745f64617461626173655f69645f696e6465785f69645f7461626c655f69645f73686172645f313620494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e54382c20383a3a3a494e54382c20393a3a3a494e54382c2031303a3a3a494e54382c2031313a3a3a494e54382c2031323a3a3a494e54382c2031333a3a3a494e54382c2031343a3a3a494e54382c2031353a3a3a494e5438291245636865636b5f637264625f696e7465726e616c5f637265617465645f61745f64617461626173655f69645f696e6465785f69645f7461626c655f69645f73686172645f313618002806300038014002b201500a077072696d61727910001a0a637265617465645f61741a0b64617461626173655f69641a087461626c655f69641a08696e6465785f69641a0a73746174697374696373200120022003200420052805b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89c98a89","value":"030abb170a1e7472616e73616374696f6e5f657865637574696f6e5f696e7369676874731841200128013a0042340a0e7472616e73616374696f6e5f696410011a0d080e100018003000508617600020003000680070007800800100880100980100423f0a1a7472616e73616374696f6e5f66696e6765727072696e745f696410021a0c0808100018003000501160002000300068007000780080010088010098010042320a0d71756572795f73756d6d61727910031a0c0807100018003000501960002001300068007000780080010088010098010042310a0c696d706c696369745f74786e10041a0c08001000180030005010600020013000680070007800800100880100980100422f0a0a73657373696f6e5f696410051a0c0807100018003000501960002000300068007000780080010088010098010042300a0a73746172745f74696d6510061a0d080910001800300050a009600020013000680070007800800100880100980100422e0a08656e645f74696d6510071a0d080910001800300050a009600020013000680070007800800100880100980100422e0a09757365725f6e616d6510081a0c08071000180030005019600020013000680070007800800100880100980100422d0a086170705f6e616d6510091a0c0807100018003000501960002001300068007000780080010088010098010042320a0d757365725f7072696f72697479100a1a0c08071000180030005019600020013000680070007800800100880100980100422c0a0772657472696573100b1a0c0801104018003000501460002001300068007000780080010088010098010042360a116c6173745f72657472795f726561736f6e100c1a0c08071000180030005019600020013000680070007800800100880100980100423e0a0870726f626c656d73100d1a1d080f104018003000380150f8075a0c080110401800300050146000600020013000680070007800800100880100980100423c0a06636175736573100e1a1d080f104018003000380150f8075a0c08011040180030005014600060002001300068007000780080010088010098010042480a1273746d745f657865637574696f6e5f696473100f1a1d080f100018003000380750f1075a0c08071000180030005019600060002001300068007000780080010088010098010042320a0d6370755f73716c5f6e616e6f7310101a0c0801104018003000501460002001300068007000780080010088010098010042340a0f6c6173745f6572726f725f636f646510111a0c08071000180030005019600020013000680070007800800100880100980100422b0a0673746174757310121a0c08011040180030005014600020013000680070007800800100880100980100423b0a0f636f6e74656e74696f6e5f74696d6510131a13080610001800300050a20960006a04080010002001300068007000780080010088010098010042350a0f636f6e74656e74696f6e5f696e666f10141a0d081210001800300050da1d600020013000680070007800800100880100980100422d0a0764657461696c7310151a0d081210001800300050da1d60002001300068007000780080010088010098010042420a076372656174656410161a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a300068007000780080010088010098010042a0010a2a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313610171a0c080110201800300050176000200030015a4f6d6f6428666e763332286d643528637264625f696e7465726e616c2e646174756d735f746f5f627974657328656e645f74696d652c2073746172745f74696d652929292c2031363a3a3a494e543829680070007800800101880100980100481852b6030a077072696d61727910011801220e7472616e73616374696f6e5f69642a1a7472616e73616374696f6e5f66696e6765727072696e745f69642a0d71756572795f73756d6d6172792a0c696d706c696369745f74786e2a0a73657373696f6e5f69642a0a73746172745f74696d652a08656e645f74696d652a09757365725f6e616d652a086170705f6e616d652a0d757365725f7072696f726974792a07726574726965732a116c6173745f72657472795f726561736f6e2a0870726f626c656d732a066361757365732a1273746d745f657865637574696f6e5f6964732a0d6370755f73716c5f6e616e6f732a0f6c6173745f6572726f725f636f64652a067374617475732a0f636f6e74656e74696f6e5f74696d652a0f636f6e74656e74696f6e5f696e666f2a0764657461696c732a0763726561746564300140004a10080010001a00200028003000380040005a0070027003700470057006700770087009700a700b700c700d700e700f70107011701270137014701570167a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a94010a1e7472616e73616374696f6e5f66696e6765727072696e745f69645f69647810021800221a7472616e73616374696f6e5f66696e6765727072696e745f69643002380140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005af2010a0e74696d655f72616e67655f69647810031800222a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f3136220a73746172745f74696d652208656e645f74696d6530173006300738014000400140014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a201460801122a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313618102208656e645f74696d65220a73746172745f74696d65a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060046a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100a20193020ad401637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313620494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e54382c20383a3a3a494e54382c20393a3a3a494e54382c2031303a3a3a494e54382c2031313a3a3a494e54382c2031323a3a3a494e54382c2031333a3a3a494e54382c2031343a3a3a494e54382c2031353a3a3a494e5438291230636865636b5f637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313618002817300038014002b201e6020a077072696d61727910001a0e7472616e73616374696f6e5f69641a1a7472616e73616374696f6e5f66696e6765727072696e745f69641a0d71756572795f73756d6d6172791a0c696d706c696369745f74786e1a0a73657373696f6e5f69641a0a73746172745f74696d651a08656e645f74696d651a09757365725f6e616d651a086170705f6e616d651a0d757365725f7072696f726974791a07726574726965731a116c6173745f72657472795f726561736f6e1a0870726f626c656d731a066361757365731a1273746d745f657865637574696f6e5f6964731a0d6370755f73716c5f6e616e6f731a0f6c6173745f6572726f725f636f64651a067374617475731a0f636f6e74656e74696f6e5f74696d651a0f636f6e74656e74696f6e5f696e666f1a0764657461696c731a0763726561746564200120022003200420052006200720082009200a200b200c200d200e200f20102011201220132014201520162800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89ca8a89","value":"030a861e0a1c73746174656d656e745f657865637574696f6e5f696e7369676874731842200128013a00422f0a0a73657373696f6e5f696410011a0c0807100018003000501960002000300068007000780080010088010098010042340a0e7472616e73616374696f6e5f696410021a0d080e100018003000508617600020003000680070007800800100880100980100423f0a1a7472616e73616374696f6e5f66696e6765727072696e745f696410031a0c0808100018003000501160002000300068007000780080010088010098010042310a0c73746174656d656e745f696410041a0c08071000180030005019600020003000680070007800800100880100980100423d0a1873746174656d656e745f66696e6765727072696e745f696410051a0c08081000180030005011600020003000680070007800800100880100980100422c0a0770726f626c656d10061a0c08011040180030005014600020013000680070007800800100880100980100423c0a0663617573657310071a1d080f104018003000380150f8075a0c080110401800300050146000600020013000680070007800800100880100980100422a0a05717565727910081a0c08071000180030005019600020013000680070007800800100880100980100422b0a0673746174757310091a0c0801104018003000501460002001300068007000780080010088010098010042300a0a73746172745f74696d65100a1a0d080910001800300050a009600020013000680070007800800100880100980100422e0a08656e645f74696d65100b1a0d080910001800300050a009600020013000680070007800800100880100980100422e0a0966756c6c5f7363616e100c1a0c08001000180030005010600020013000680070007800800100880100980100422e0a09757365725f6e616d65100d1a0c08071000180030005019600020013000680070007800800100880100980100422d0a086170705f6e616d65100e1a0c0807100018003000501960002001300068007000780080010088010098010042320a0d757365725f7072696f72697479100f1a0c0807100018003000501960002001300068007000780080010088010098010042320a0d64617461626173655f6e616d6510101a0c08071000180030005019600020013000680070007800800100880100980100422e0a09706c616e5f6769737410111a0c08071000180030005019600020013000680070007800800100880100980100422c0a077265747269657310121a0c0801104018003000501460002001300068007000780080010088010098010042360a116c6173745f72657472795f726561736f6e10131a0c0807100018003000501960002001300068007000780080010088010098010042480a12657865637574696f6e5f6e6f64655f69647310141a1d080f104018003000380150f8075a0c080110401800300050146000600020013000680070007800800100880100980100424b0a15696e6465785f7265636f6d6d656e646174696f6e7310151a1d080f100018003000380750f1075a0c08071000180030005019600060002001300068007000780080010088010098010042310a0c696d706c696369745f74786e10161a0c0800100018003000501060002001300068007000780080010088010098010042320a0d6370755f73716c5f6e616e6f7310171a0c08011040180030005014600020013000680070007800800100880100980100422f0a0a6572726f725f636f646510181a0c08071000180030005019600020013000680070007800800100880100980100423b0a0f636f6e74656e74696f6e5f74696d6510191a13080610001800300050a20960006a04080010002001300068007000780080010088010098010042350a0f636f6e74656e74696f6e5f696e666f101a1a0d081210001800300050da1d600020013000680070007800800100880100980100422d0a0764657461696c73101b1a0d081210001800300050da1d60002001300068007000780080010088010098010042420a0763726561746564101c1a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a300068007000780080010088010098010042a0010a2a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f3136101d1a0c080110201800300050176000200030015a4f6d6f6428666e763332286d643528637264625f696e7465726e616c2e646174756d735f746f5f627974657328656e645f74696d652c2073746172745f74696d652929292c2031363a3a3a494e543829680070007800800101880100980100481e529a040a077072696d61727910011801220c73746174656d656e745f6964220e7472616e73616374696f6e5f69642a0a73657373696f6e5f69642a1a7472616e73616374696f6e5f66696e6765727072696e745f69642a1873746174656d656e745f66696e6765727072696e745f69642a0770726f626c656d2a066361757365732a0571756572792a067374617475732a0a73746172745f74696d652a08656e645f74696d652a0966756c6c5f7363616e2a09757365725f6e616d652a086170705f6e616d652a0d757365725f7072696f726974792a0d64617461626173655f6e616d652a09706c616e5f676973742a07726574726965732a116c6173745f72657472795f726561736f6e2a12657865637574696f6e5f6e6f64655f6964732a15696e6465785f7265636f6d6d656e646174696f6e732a0c696d706c696369745f74786e2a0d6370755f73716c5f6e616e6f732a0a6572726f725f636f64652a0f636f6e74656e74696f6e5f74696d652a0f636f6e74656e74696f6e5f696e666f2a0764657461696c732a076372656174656430043002400040004a10080010001a00200028003000380040005a007001700370057006700770087009700a700b700c700d700e700f7010701170127013701470157016701770187019701a701b701c7a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005a7c0a127472616e73616374696f6e5f69645f69647810021800220e7472616e73616374696f6e5f69643002380440004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ab4010a1e7472616e73616374696f6e5f66696e6765727072696e745f69645f69647810031800221a7472616e73616374696f6e5f66696e6765727072696e745f6964220a73746172745f74696d652208656e645f74696d653003300a300b380438024000400140014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005ab0010a1c73746174656d656e745f66696e6765727072696e745f69645f69647810041800221873746174656d656e745f66696e6765727072696e745f6964220a73746172745f74696d652208656e645f74696d653005300a300b380438024000400140014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005af4010a0e74696d655f72616e67655f69647810051800222a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f3136220a73746172745f74696d652208656e645f74696d65301d300a300b380438024000400140014a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a201460801122a637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313618102208656e645f74696d65220a73746172745f74696d65a80100b20100ba0100c00100c80100d00100e00100e901000000000000000060066a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100a20193020ad401637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f313620494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e54382c20383a3a3a494e54382c20393a3a3a494e54382c2031303a3a3a494e54382c2031313a3a3a494e54382c2031323a3a3a494e54382c2031333a3a3a494e54382c2031343a3a3a494e54382c2031353a3a3a494e5438291230636865636b5f637264625f696e7465726e616c5f656e645f74696d655f73746172745f74696d655f73686172645f31361800281d300038014002b201c8030a077072696d61727910001a0a73657373696f6e5f69641a0e7472616e73616374696f6e5f69641a1a7472616e73616374696f6e5f66696e6765727072696e745f69641a0c73746174656d656e745f69641a1873746174656d656e745f66696e6765727072696e745f69641a0770726f626c656d1a066361757365731a0571756572791a067374617475731a0a73746172745f74696d651a08656e645f74696d651a0966756c6c5f7363616e1a09757365725f6e616d651a086170705f6e616d651a0d757365725f7072696f726974791a0d64617461626173655f6e616d651a09706c616e5f676973741a07726574726965731a116c6173745f72657472795f726561736f6e1a12657865637574696f6e5f6e6f64655f6964731a15696e6465785f7265636f6d6d656e646174696f6e731a0c696d706c696369745f74786e1a0d6370755f73716c5f6e616e6f731a0a6572726f725f636f64651a0f636f6e74656e74696f6e5f74696d651a0f636f6e74656e74696f6e5f696e666f1a0764657461696c731a0763726561746564200120022003200420052006200720082009200a200b200c200d200e200f2010201120122013201420152016201720182019201a201b201c2800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8b89cb8a89","value":"030ad31c0a0e7461626c655f6d657461646174611843200128013a00422a0a0564625f696410011a0c08011040180030005014600020003000680070007800800100880100980100422d0a087461626c655f696410021a0c08011040180030005014600020003000680070007800800100880100980100422c0a0764625f6e616d6510031a0c0807100018003000501960002000300068007000780080010088010098010042300a0b736368656d615f6e616d6510041a0c08071000180030005019600020003000680070007800800100880100980100422f0a0a7461626c655f6e616d6510051a0c0807100018003000501960002000300068007000780080010088010098010042320a0d746f74616c5f636f6c756d6e7310061a0c0801104018003000501460002000300068007000780080010088010098010042320a0d746f74616c5f696e646578657310071a0c08011040180030005014600020003000680070007800800100880100980100423f0a0973746f72655f69647310081a1d080f104018003000380150f8075a0c080110401800300050146000600020003000680070007800800100880100980100423b0a167265706c69636174696f6e5f73697a655f627974657310091a0c0801104018003000501460002000300068007000780080010088010098010042310a0c746f74616c5f72616e676573100a1a0c08011040180030005014600020003000680070007800800100880100980100423a0a15746f74616c5f6c6976655f646174615f6279746573100b1a0c0801104018003000501460002000300068007000780080010088010098010042350a10746f74616c5f646174615f6279746573100c1a0c0801104018003000501460002000300068007000780080010088010098010042340a0e706572635f6c6976655f64617461100d1a0d080210401800300050bd0560002000300068007000780080010088010098010042360a116c6173745f7570646174655f6572726f72100e1a0c0807100018003000501960002001300068007000780080010088010098010042470a0c6c6173745f75706461746564100f1a0d080910001800300050a009600020002a136e6f7728293a3a3a54494d455354414d50545a3000680070007800800100880100980100422f0a0a7461626c655f7479706510101a0c08071000180030005019600020003000680070007800800100880100980100422d0a0764657461696c7310111a0d081210001800300050da1d60002000300068007000780080010088010098010042a4010a2c637264625f696e7465726e616c5f6c6173745f757064617465645f7461626c655f69645f73686172645f313610121a0c080110201800300050176000200030015a516d6f6428666e763332286d643528637264625f696e7465726e616c2e646174756d735f746f5f6279746573287461626c655f69642c206c6173745f757064617465642929292c2031363a3a3a494e543829680070007800800101880100980100481352f2020a077072696d61727910011801220564625f696422087461626c655f69642a0764625f6e616d652a0b736368656d615f6e616d652a0a7461626c655f6e616d652a0d746f74616c5f636f6c756d6e732a0d746f74616c5f696e64657865732a0973746f72655f6964732a167265706c69636174696f6e5f73697a655f62797465732a0c746f74616c5f72616e6765732a15746f74616c5f6c6976655f646174615f62797465732a10746f74616c5f646174615f62797465732a0e706572635f6c6976655f646174612a116c6173745f7570646174655f6572726f722a0c6c6173745f757064617465642a0a7461626c655f747970652a0764657461696c7330013002400040004a10080010001a00200028003000380040005a007003700470057006700770087009700a700b700c700d700e700f701070117a0408002000800100880100900104980101a20106080012001800a80100b20100ba0100c00100c80100d00101e00100e90100000000000000005aa3010a237265706c69636174696f6e5f73697a655f62797465735f7461626c655f69645f6964781002180022167265706c69636174696f6e5f73697a655f627974657322087461626c655f6964300930023801400140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a8f010a19746f74616c5f72616e6765735f7461626c655f69645f69647810031800220c746f74616c5f72616e67657322087461626c655f6964300a30023801400140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a91010a1a746f74616c5f636f6c756d6e735f7461626c655f69645f69647810041800220d746f74616c5f636f6c756d6e7322087461626c655f6964300630023801400140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a91010a1a746f74616c5f696e64657865735f7461626c655f69645f69647810051800220d746f74616c5f696e646578657322087461626c655f6964300730023801400140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a8f010a15706572635f6c6976655f646174615f69645f69647810061800220e706572635f6c6976655f6461746122087461626c655f6964300d30023801400140004a10080010001a00200028003000380040005a00680d7a0408002000800100880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005afc010a106c6173745f757064617465645f69647810071800222c637264625f696e7465726e616c5f6c6173745f757064617465645f7461626c655f69645f73686172645f3136220c6c6173745f7570646174656422087461626c655f69643012300f300238014000400140004a10080010001a00200028003000380040005a007a0408002000800100880100900103980100a2014a0801122c637264625f696e7465726e616c5f6c6173745f757064617465645f7461626c655f69645f73686172645f31361810220c6c6173745f7570646174656422087461626c655f6964a80100b20100ba0100c00100c80100d00100e00100e90100000000000000005a730a0b64625f6e616d655f67696e10081800220764625f6e616d6530033801380240004a10080010001a00200028003000380040005a007a0408002000800101880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100d80101e00100e90100000000000000005a790a0e7461626c655f6e616d655f67696e10091800220a7461626c655f6e616d6530053801380240004a10080010001a00200028003000380040005a007a0408002000800101880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100d80101e00100e90100000000000000005a7b0a0f736368656d615f6e616d655f67696e100a1800220b736368656d615f6e616d6530043801380240004a10080010001a00200028003000380040005a007a0408002000800101880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100d80101e00100e90100000000000000005a770a0d73746f72655f6964735f67696e100b1800220973746f72655f69647330083801380240004a10080010001a00200028003000380040005a007a0408002000800101880100900103980100a20106080012001800a80100b20100ba0100c00100c80100d00100d80100e00100e9010000000000000000600c6a250a0d0a0561646d696e10e00318e0030a0c0a04726f6f7410e00318e00312046e6f64651803800101880103980100a20197020ad601637264625f696e7465726e616c5f6c6173745f757064617465645f7461626c655f69645f73686172645f313620494e2028303a3a3a494e54382c20313a3a3a494e54382c20323a3a3a494e54382c20333a3a3a494e54382c20343a3a3a494e54382c20353a3a3a494e54382c20363a3a3a494e54382c20373a3a3a494e54382c20383a3a3a494e54382c20393a3a3a494e54382c2031303a3a3a494e54382c2031313a3a3a494e54382c2031323a3a3a494e54382c2031333a3a3a494e54382c2031343a3a3a494e54382c2031353a3a3a494e5438291232636865636b5f637264625f696e7465726e616c5f6c6173745f757064617465645f7461626c655f69645f73686172645f313618002812300038014002b201a0020a077072696d61727910001a0564625f69641a087461626c655f69641a0764625f6e616d651a0b736368656d615f6e616d651a0a7461626c655f6e616d651a0d746f74616c5f636f6c756d6e731a0d746f74616c5f696e64657865731a0973746f72655f6964731a167265706c69636174696f6e5f73697a655f62797465731a0c746f74616c5f72616e6765731a15746f74616c5f6c6976655f646174615f62797465731a10746f74616c5f646174615f62797465731a0e706572635f6c6976655f646174611a116c6173745f7570646174655f6572726f721a0c6c6173745f757064617465641a0a7461626c655f747970651a0764657461696c73200120022003200420052006200720082009200a200b200c200d200e200f201020112800b80101c20100e80100f2010408001200f801008002009202009a0200b20200b80200c0021dc80200e00200800300880303a80300b00300d00300d80300e00300f80300880400"} +,{"key":"8d89888a89","value":"031080808040188080808002220308c0702803500058007801"} +,{"key":"8f898888","value":"01c801"} +,{"key":"90898988","value":"0a2a160c080110001a0020002a004200160673797374656d13021304"} +,{"key":"908a1273797374656d000188","value":"0389"} +,{"key":"908b8a8988","value":"03"} +,{"key":"a68988881273797374656d00018c89","value":"0102"} +,{"key":"a6898988127075626c696300018c89","value":"013a"} +,{"key":"a68989a512636f6d6d656e747300018c89","value":"0130"} +,{"key":"a68989a51264617461626173655f726f6c655f73657474696e677300018c89","value":"0158"} +,{"key":"a68989a51264657363726970746f7200018c89","value":"0106"} +,{"key":"a68989a51264657363726970746f725f69645f73657100018c89","value":"010e"} +,{"key":"a68989a5126576656e746c6f6700018c89","value":"0118"} +,{"key":"a68989a51265787465726e616c5f636f6e6e656374696f6e7300018c89","value":"016a"} +,{"key":"a68989a5126a6f625f696e666f00018c89","value":"016c"} +,{"key":"a68989a5126a6f627300018c89","value":"011e"} +,{"key":"a68989a5126a6f696e5f746f6b656e7300018c89","value":"0152"} +,{"key":"a68989a5126c6561736500018c89","value":"0116"} +,{"key":"a68989a5126c6f636174696f6e7300018c89","value":"012a"} +,{"key":"a68989a5126d6967726174696f6e7300018c89","value":"0150"} +,{"key":"a68989a5126d7663635f7374617469737469637300018c89","value":"018001"} +,{"key":"a68989a5126e616d65737061636500018c89","value":"013c"} +,{"key":"a68989a51270726976696c6567657300018c89","value":"0168"} +,{"key":"a68989a51270726f7465637465645f74735f6d65746100018c89","value":"013e"} +,{"key":"a68989a51270726f7465637465645f74735f7265636f72647300018c89","value":"0140"} +,{"key":"a68989a51272616e67656c6f6700018c89","value":"011a"} +,{"key":"a68989a512726567696f6e5f6c6976656e65737300018c89","value":"0112"} +,{"key":"a68989a5127265706c69636174696f6e5f636f6e73747261696e745f737461747300018c89","value":"0132"} +,{"key":"a68989a5127265706c69636174696f6e5f637269746963616c5f6c6f63616c697469657300018c89","value":"0134"} +,{"key":"a68989a5127265706c69636174696f6e5f737461747300018c89","value":"0136"} +,{"key":"a68989a5127265706f7274735f6d65746100018c89","value":"0138"} +,{"key":"a68989a512726f6c655f69645f73657100018c89","value":"0160"} +,{"key":"a68989a512726f6c655f6d656d6265727300018c89","value":"012e"} +,{"key":"a68989a512726f6c655f6f7074696f6e7300018c89","value":"0142"} +,{"key":"a68989a5127363686564756c65645f6a6f627300018c89","value":"014a"} +,{"key":"a68989a51273657474696e677300018c89","value":"010c"} +,{"key":"a68989a5127370616e5f636f6e66696775726174696f6e7300018c89","value":"015e"} +,{"key":"a68989a5127370616e5f636f756e7400018c89","value":"0166"} +,{"key":"a68989a5127370616e5f73746174735f6275636b65747300018c89","value":"0170"} +,{"key":"a68989a5127370616e5f73746174735f73616d706c657300018c89","value":"0172"} +,{"key":"a68989a5127370616e5f73746174735f74656e616e745f626f756e64617269657300018c89","value":"0174"} +,{"key":"a68989a5127370616e5f73746174735f756e697175655f6b65797300018c89","value":"016e"} +,{"key":"a68989a51273716c5f696e7374616e63657300018c89","value":"015c"} +,{"key":"a68989a51273716c6c6976656e65737300018c89","value":"014e"} +,{"key":"a68989a51273746174656d656e745f616374697669747900018c89","value":"017a"} +,{"key":"a68989a51273746174656d656e745f62756e646c655f6368756e6b7300018c89","value":"0144"} +,{"key":"a68989a51273746174656d656e745f646961676e6f737469637300018c89","value":"0148"} +,{"key":"a68989a51273746174656d656e745f646961676e6f73746963735f726571756573747300018c89","value":"0146"} +,{"key":"a68989a51273746174656d656e745f657865637574696f6e5f696e73696768747300018c89","value":"018401"} +,{"key":"a68989a51273746174656d656e745f7374617469737469637300018c89","value":"0154"} +,{"key":"a68989a5127461626c655f6d6574616461746100018c89","value":"018601"} +,{"key":"a68989a5127461626c655f7374617469737469637300018c89","value":"0128"} +,{"key":"a68989a5127461736b5f7061796c6f61647300018c89","value":"0176"} +,{"key":"a68989a51274656e616e745f69645f73657100018c89","value":"017e"} +,{"key":"a68989a51274656e616e745f73657474696e677300018c89","value":"0164"} +,{"key":"a68989a51274656e616e745f7461736b7300018c89","value":"0178"} +,{"key":"a68989a51274656e616e745f757361676500018c89","value":"015a"} +,{"key":"a68989a51274656e616e747300018c89","value":"0110"} +,{"key":"a68989a5127472616e73616374696f6e5f616374697669747900018c89","value":"017c"} +,{"key":"a68989a5127472616e73616374696f6e5f657865637574696f6e5f696e73696768747300018c89","value":"018201"} +,{"key":"a68989a5127472616e73616374696f6e5f7374617469737469637300018c89","value":"0156"} +,{"key":"a68989a512756900018c89","value":"011c"} +,{"key":"a68989a512757365727300018c89","value":"0108"} +,{"key":"a68989a5127765625f73657373696f6e7300018c89","value":"0126"} +,{"key":"a68989a5127a6f6e657300018c89","value":"010a"} +,{"key":"b8898888","value":"01c801"} +,{"key":"c7898888","value":"0102"} +] \ No newline at end of file diff --git a/pkg/sql/catalog/bootstrap/data/24_3_tenant.sha256 b/pkg/sql/catalog/bootstrap/data/24_3_tenant.sha256 new file mode 100644 index 000000000000..7b36cbe809c9 --- /dev/null +++ b/pkg/sql/catalog/bootstrap/data/24_3_tenant.sha256 @@ -0,0 +1 @@ +5666976007ad4ced2d419d4d7ce12c9b4c1001265be851645209ef3823b02a35 \ No newline at end of file diff --git a/pkg/sql/catalog/bootstrap/initial_values.go b/pkg/sql/catalog/bootstrap/initial_values.go index 64dbd04f7290..871ffa47f46f 100644 --- a/pkg/sql/catalog/bootstrap/initial_values.go +++ b/pkg/sql/catalog/bootstrap/initial_values.go @@ -64,6 +64,12 @@ type initialValuesFactoryFn = func(opts InitialValuesOpts) ( var initialValuesFactoryByKey = map[clusterversion.Key]initialValuesFactoryFn{ clusterversion.Latest: buildLatestInitialValues, + clusterversion.V24_3: hardCodedInitialValues{ + system: v24_3_system_keys, + systemHash: v24_3_system_sha256, + nonSystem: v24_3_tenant_keys, + nonSystemHash: v24_3_tenant_sha256, + }.build, clusterversion.V24_2: hardCodedInitialValues{ system: v24_2_system_keys, systemHash: v24_2_system_sha256, @@ -157,3 +163,15 @@ var v24_2_tenant_keys string //go:embed data/24_2_tenant.sha256 var v24_2_tenant_sha256 string + +//go:embed data/24_3_system.keys +var v24_3_system_keys string + +//go:embed data/24_3_system.sha256 +var v24_3_system_sha256 string + +//go:embed data/24_3_tenant.keys +var v24_3_tenant_keys string + +//go:embed data/24_3_tenant.sha256 +var v24_3_tenant_sha256 string diff --git a/pkg/sql/catalog/systemschema/system.go b/pkg/sql/catalog/systemschema/system.go index 949aaf4bf296..89582bcadd88 100644 --- a/pkg/sql/catalog/systemschema/system.go +++ b/pkg/sql/catalog/systemschema/system.go @@ -1284,7 +1284,7 @@ const SystemDatabaseName = catconstants.SystemDatabaseName // release version). // // NB: Don't set this to clusterversion.Latest; use a specific version instead. -var SystemDatabaseSchemaBootstrapVersion = clusterversion.V24_3_AddTableMetadataCols.Version() +var SystemDatabaseSchemaBootstrapVersion = clusterversion.V25_1_Start.Version() // MakeSystemDatabaseDesc constructs a copy of the system database // descriptor. diff --git a/pkg/sql/logictest/logictestbase/logictestbase.go b/pkg/sql/logictest/logictestbase/logictestbase.go index d6a218819616..00705dded375 100644 --- a/pkg/sql/logictest/logictestbase/logictestbase.go +++ b/pkg/sql/logictest/logictestbase/logictestbase.go @@ -501,6 +501,24 @@ var LogicTestConfigs = []TestClusterConfig{ BootstrapVersion: clusterversion.V24_2, NumNodes: 3, }, + { + // This config runs tests using 24.3 cluster version, simulating a node that + // is operating in a mixed-version cluster. + Name: "local-mixed-24.3", + NumNodes: 1, + OverrideDistSQLMode: "off", + BootstrapVersion: clusterversion.V24_3, + DisableUpgrade: true, + DeclarativeCorpusCollection: true, + }, + { + // This config runs a cluster with 3 nodes, with a separate process per + // node. The nodes initially start on v24.2. + Name: "cockroach-go-testserver-24.3", + UseCockroachGoTestserver: true, + BootstrapVersion: clusterversion.V24_3, + NumNodes: 3, + }, } // ConfigIdx is an index in the above slice. @@ -571,6 +589,7 @@ var ( "fakedist-vec-off", "fakedist-disk", "local-mixed-24.2", + "local-mixed-24.3", } // FiveNodeDefaultConfigName is a special alias for all 5 node configs. FiveNodeDefaultConfigName = "5node-default-configs" diff --git a/pkg/sql/logictest/testdata/logic_test/crdb_internal b/pkg/sql/logictest/testdata/logic_test/crdb_internal index 3df309162d55..1abb4295047b 100644 --- a/pkg/sql/logictest/testdata/logic_test/crdb_internal +++ b/pkg/sql/logictest/testdata/logic_test/crdb_internal @@ -653,7 +653,7 @@ select crdb_internal.get_vmodule() query T SELECT crdb_internal.release_series(crdb_internal.node_executable_version()) ---- -24.3 +25.1 query error version '1.0' not supported SELECT crdb_internal.release_series('1.0') @@ -816,7 +816,7 @@ SELECT * FROM crdb_internal.check_consistency(true, b'\x02', b'\x04') query T SELECT crdb_internal.release_series(crdb_internal.node_executable_version()) ---- -24.3 +25.1 user root diff --git a/pkg/sql/logictest/testdata/logic_test/crdb_internal_catalog b/pkg/sql/logictest/testdata/logic_test/crdb_internal_catalog index 656b83a3d37c..4e24128bdd38 100644 --- a/pkg/sql/logictest/testdata/logic_test/crdb_internal_catalog +++ b/pkg/sql/logictest/testdata/logic_test/crdb_internal_catalog @@ -101,10 +101,11 @@ SELECT $$; skipif config local-mixed-24.2 +skipif config local-mixed-24.3 query IT SELECT id, strip_volatile(descriptor) FROM crdb_internal.kv_catalog_descriptor ORDER BY id ---- -1 {"database": {"id": 1, "name": "system", "privileges": {"ownerProto": "node", "users": [{"privileges": "2048", "userProto": "admin", "withGrantOption": "2048"}, {"privileges": "2048", "userProto": "root", "withGrantOption": "2048"}], "version": 3}, "systemDatabaseSchemaVersion": {"internal": 22, "majorVal": 1000024, "minorVal": 2}, "version": "1"}} +1 {"database": {"id": 1, "name": "system", "privileges": {"ownerProto": "node", "users": [{"privileges": "2048", "userProto": "admin", "withGrantOption": "2048"}, {"privileges": "2048", "userProto": "root", "withGrantOption": "2048"}], "version": 3}, "systemDatabaseSchemaVersion": {"internal": 2, "majorVal": 1000024, "minorVal": 3}, "version": "1"}} 3 {"table": {"columns": [{"id": 1, "name": "id", "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 2, "name": "descriptor", "nullable": true, "type": {"family": "BytesFamily", "oid": 17}}], "formatVersion": 3, "id": 3, "name": "descriptor", "nextColumnId": 3, "nextConstraintId": 2, "nextIndexId": 2, "nextMutationId": 1, "parentId": 1, "primaryIndex": {"constraintId": 1, "encodingType": 1, "foreignKey": {}, "geoConfig": {}, "id": 1, "interleave": {}, "keyColumnDirections": ["ASC"], "keyColumnIds": [1], "keyColumnNames": ["id"], "name": "primary", "partitioning": {}, "sharded": {}, "storeColumnIds": [2], "storeColumnNames": ["descriptor"], "unique": true, "version": 4}, "privileges": {"ownerProto": "node", "users": [{"privileges": "32", "userProto": "admin", "withGrantOption": "32"}, {"privileges": "32", "userProto": "root", "withGrantOption": "32"}], "version": 3}, "replacementOf": {"time": {}}, "unexposedParentSchemaId": 29, "version": "1"}} 4 {"table": {"columns": [{"id": 1, "name": "username", "type": {"family": "StringFamily", "oid": 25}}, {"id": 2, "name": "hashedPassword", "nullable": true, "type": {"family": "BytesFamily", "oid": 17}}, {"defaultExpr": "false", "id": 3, "name": "isRole", "type": {"oid": 16}}, {"id": 4, "name": "user_id", "type": {"family": "OidFamily", "oid": 26}}], "formatVersion": 3, "id": 4, "indexes": [{"constraintId": 1, "foreignKey": {}, "geoConfig": {}, "id": 2, "interleave": {}, "keyColumnDirections": ["ASC"], "keyColumnIds": [4], "keyColumnNames": ["user_id"], "keySuffixColumnIds": [1], "name": "users_user_id_idx", "partitioning": {}, "sharded": {}, "unique": true, "version": 3}], "name": "users", "nextColumnId": 5, "nextConstraintId": 3, "nextIndexId": 3, "nextMutationId": 1, "parentId": 1, "primaryIndex": {"constraintId": 2, "encodingType": 1, "foreignKey": {}, "geoConfig": {}, "id": 1, "interleave": {}, "keyColumnDirections": ["ASC"], "keyColumnIds": [1], "keyColumnNames": ["username"], "name": "primary", "partitioning": {}, "sharded": {}, "storeColumnIds": [2, 3, 4], "storeColumnNames": ["hashedPassword", "isRole", "user_id"], "unique": true, "version": 4}, "privileges": {"ownerProto": "node", "users": [{"privileges": "480", "userProto": "admin", "withGrantOption": "480"}, {"privileges": "480", "userProto": "root", "withGrantOption": "480"}], "version": 3}, "replacementOf": {"time": {}}, "unexposedParentSchemaId": 29, "version": "2"}} 5 {"table": {"columns": [{"id": 1, "name": "id", "type": {"family": "IntFamily", "oid": 20, "width": 64}}, {"id": 2, "name": "config", "nullable": true, "type": {"family": "BytesFamily", "oid": 17}}], "formatVersion": 3, "id": 5, "name": "zones", "nextColumnId": 3, "nextConstraintId": 2, "nextIndexId": 2, "nextMutationId": 1, "parentId": 1, "primaryIndex": {"constraintId": 1, "encodingType": 1, "foreignKey": {}, "geoConfig": {}, "id": 1, "interleave": {}, "keyColumnDirections": ["ASC"], "keyColumnIds": [1], "keyColumnNames": ["id"], "name": "primary", "partitioning": {}, "sharded": {}, "storeColumnIds": [2], "storeColumnNames": ["config"], "unique": true, "version": 4}, "privileges": {"ownerProto": "node", "users": [{"privileges": "480", "userProto": "admin", "withGrantOption": "480"}, {"privileges": "480", "userProto": "root", "withGrantOption": "480"}], "version": 3}, "replacementOf": {"time": {}}, "unexposedParentSchemaId": 29, "version": "1"}} diff --git a/pkg/sql/logictest/testdata/logic_test/notice b/pkg/sql/logictest/testdata/logic_test/notice index 4014b2842083..bb1936667c2a 100644 --- a/pkg/sql/logictest/testdata/logic_test/notice +++ b/pkg/sql/logictest/testdata/logic_test/notice @@ -63,5 +63,5 @@ UNLISTEN temp ---- NOTICE: unimplemented: CRDB does not support LISTEN, making UNLISTEN a no-op HINT: You have attempted to use a feature that is not yet implemented. -See: https://go.crdb.dev/issue-v/41522/v24.3 +See: https://go.crdb.dev/issue-v/41522/dev SQLSTATE: 0A000 diff --git a/pkg/sql/logictest/tests/local-mixed-24.3/BUILD.bazel b/pkg/sql/logictest/tests/local-mixed-24.3/BUILD.bazel new file mode 100644 index 000000000000..4d23d538c257 --- /dev/null +++ b/pkg/sql/logictest/tests/local-mixed-24.3/BUILD.bazel @@ -0,0 +1,30 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_test") + +go_test( + name = "local-mixed-24_3_test", + size = "enormous", + srcs = ["generated_test.go"], + data = [ + "//c-deps:libgeos", # keep + "//pkg/sql/logictest:testdata", # keep + ], + exec_properties = select({ + "//build/toolchains:is_heavy": {"test.Pool": "heavy"}, + "//conditions:default": {"test.Pool": "large"}, + }), + shard_count = 48, + tags = ["cpu:1"], + deps = [ + "//pkg/base", + "//pkg/build/bazel", + "//pkg/security/securityassets", + "//pkg/security/securitytest", + "//pkg/server", + "//pkg/sql/logictest", + "//pkg/testutils/serverutils", + "//pkg/testutils/skip", + "//pkg/testutils/testcluster", + "//pkg/util/leaktest", + "//pkg/util/randutil", + ], +) diff --git a/pkg/sql/logictest/tests/local-mixed-24.3/generated_test.go b/pkg/sql/logictest/tests/local-mixed-24.3/generated_test.go new file mode 100644 index 000000000000..c020171e4247 --- /dev/null +++ b/pkg/sql/logictest/tests/local-mixed-24.3/generated_test.go @@ -0,0 +1,2601 @@ +// Copyright 2022 The Cockroach Authors. +// +// Use of this software is governed by the CockroachDB Software License +// included in the /LICENSE file. + +// Code generated by generate-logictest, DO NOT EDIT. + +package testlocal_mixed_243 + +import ( + "os" + "path/filepath" + "testing" + + "github.com/cockroachdb/cockroach/pkg/base" + "github.com/cockroachdb/cockroach/pkg/build/bazel" + "github.com/cockroachdb/cockroach/pkg/security/securityassets" + "github.com/cockroachdb/cockroach/pkg/security/securitytest" + "github.com/cockroachdb/cockroach/pkg/server" + "github.com/cockroachdb/cockroach/pkg/sql/logictest" + "github.com/cockroachdb/cockroach/pkg/testutils/serverutils" + "github.com/cockroachdb/cockroach/pkg/testutils/skip" + "github.com/cockroachdb/cockroach/pkg/testutils/testcluster" + "github.com/cockroachdb/cockroach/pkg/util/leaktest" + "github.com/cockroachdb/cockroach/pkg/util/randutil" +) + +const configIdx = 21 + +var logicTestDir string + +func init() { + if bazel.BuiltWithBazel() { + var err error + logicTestDir, err = bazel.Runfile("pkg/sql/logictest/testdata/logic_test") + if err != nil { + panic(err) + } + } else { + logicTestDir = "../../../../sql/logictest/testdata/logic_test" + } +} + +func TestMain(m *testing.M) { + securityassets.SetLoader(securitytest.EmbeddedAssets) + randutil.SeedForTests() + serverutils.InitTestServerFactory(server.TestServerFactory) + serverutils.InitTestClusterFactory(testcluster.TestClusterFactory) + + defer serverutils.TestingSetDefaultTenantSelectionOverride( + base.TestIsForStuffThatShouldWorkWithSecondaryTenantsButDoesntYet(76378), + )() + + os.Exit(m.Run()) +} + +func runLogicTest(t *testing.T, file string) { + skip.UnderDeadlock(t, "times out and/or hangs") + logictest.RunLogicTest(t, logictest.TestServerArgs{}, configIdx, filepath.Join(logicTestDir, file)) +} + +// TestLogic_tmp runs any tests that are prefixed with "_", in which a dedicated +// test is not generated for. This allows developers to create and run temporary +// test files that are not checked into the repository, without repeatedly +// regenerating and reverting changes to this file, generated_test.go. +// +// TODO(mgartner): Add file filtering so that individual files can be run, +// instead of all files with the "_" prefix. +func TestLogic_tmp(t *testing.T) { + defer leaktest.AfterTest(t)() + var glob string + glob = filepath.Join(logicTestDir, "_*") + logictest.RunLogicTests(t, logictest.TestServerArgs{}, configIdx, glob) +} + +func TestLogic_aggregate( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "aggregate") +} + +func TestLogic_alias_types( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alias_types") +} + +func TestLogic_alter_column_type( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_column_type") +} + +func TestLogic_alter_database_convert_to_schema( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_database_convert_to_schema") +} + +func TestLogic_alter_database_owner( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_database_owner") +} + +func TestLogic_alter_default_privileges_for_all_roles( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_default_privileges_for_all_roles") +} + +func TestLogic_alter_default_privileges_for_schema( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_default_privileges_for_schema") +} + +func TestLogic_alter_default_privileges_for_sequence( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_default_privileges_for_sequence") +} + +func TestLogic_alter_default_privileges_for_table( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_default_privileges_for_table") +} + +func TestLogic_alter_default_privileges_for_type( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_default_privileges_for_type") +} + +func TestLogic_alter_default_privileges_in_schema( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_default_privileges_in_schema") +} + +func TestLogic_alter_default_privileges_with_grant_option( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_default_privileges_with_grant_option") +} + +func TestLogic_alter_primary_key( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_primary_key") +} + +func TestLogic_alter_role( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_role") +} + +func TestLogic_alter_role_set( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_role_set") +} + +func TestLogic_alter_schema_owner( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_schema_owner") +} + +func TestLogic_alter_sequence( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_sequence") +} + +func TestLogic_alter_sequence_owner( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_sequence_owner") +} + +func TestLogic_alter_table( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_table") +} + +func TestLogic_alter_table_owner( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_table_owner") +} + +func TestLogic_alter_type( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_type") +} + +func TestLogic_alter_type_owner( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_type_owner") +} + +func TestLogic_alter_view_owner( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "alter_view_owner") +} + +func TestLogic_and_or( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "and_or") +} + +func TestLogic_apply_join( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "apply_join") +} + +func TestLogic_array( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "array") +} + +func TestLogic_as_of( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "as_of") +} + +func TestLogic_asyncpg( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "asyncpg") +} + +func TestLogic_auto_span_config_reconciliation_job( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "auto_span_config_reconciliation_job") +} + +func TestLogic_bit( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "bit") +} + +func TestLogic_bpchar( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "bpchar") +} + +func TestLogic_builtin_function( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "builtin_function") +} + +func TestLogic_builtin_function_notenant( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "builtin_function_notenant") +} + +func TestLogic_bytes( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "bytes") +} + +func TestLogic_cascade( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "cascade") +} + +func TestLogic_case_sensitive_names( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "case_sensitive_names") +} + +func TestLogic_cast( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "cast") +} + +func TestLogic_ccl( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "ccl") +} + +func TestLogic_check_constraints( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "check_constraints") +} + +func TestLogic_cluster_settings( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "cluster_settings") +} + +func TestLogic_collatedstring( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "collatedstring") +} + +func TestLogic_collatedstring_constraint( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "collatedstring_constraint") +} + +func TestLogic_collatedstring_index1( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "collatedstring_index1") +} + +func TestLogic_collatedstring_index2( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "collatedstring_index2") +} + +func TestLogic_collatedstring_normalization( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "collatedstring_normalization") +} + +func TestLogic_collatedstring_nullinindex( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "collatedstring_nullinindex") +} + +func TestLogic_collatedstring_uniqueindex1( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "collatedstring_uniqueindex1") +} + +func TestLogic_collatedstring_uniqueindex2( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "collatedstring_uniqueindex2") +} + +func TestLogic_comment_on( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "comment_on") +} + +func TestLogic_composite_types( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "composite_types") +} + +func TestLogic_computed( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "computed") +} + +func TestLogic_conditional( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "conditional") +} + +func TestLogic_connect_privilege( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "connect_privilege") +} + +func TestLogic_crdb_internal( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "crdb_internal") +} + +func TestLogic_crdb_internal_catalog( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "crdb_internal_catalog") +} + +func TestLogic_crdb_internal_default_privileges( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "crdb_internal_default_privileges") +} + +func TestLogic_create_as( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "create_as") +} + +func TestLogic_create_index( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "create_index") +} + +func TestLogic_create_statements( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "create_statements") +} + +func TestLogic_create_table( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "create_table") +} + +func TestLogic_cross_join( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "cross_join") +} + +func TestLogic_cursor( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "cursor") +} + +func TestLogic_custom_escape_character( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "custom_escape_character") +} + +func TestLogic_dangerous_statements( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "dangerous_statements") +} + +func TestLogic_database( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "database") +} + +func TestLogic_datetime( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "datetime") +} + +func TestLogic_decimal( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "decimal") +} + +func TestLogic_default( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "default") +} + +func TestLogic_delete( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "delete") +} + +func TestLogic_delete_batch( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "delete_batch") +} + +func TestLogic_dependencies( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "dependencies") +} + +func TestLogic_discard( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "discard") +} + +func TestLogic_disjunction_in_join( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "disjunction_in_join") +} + +func TestLogic_distinct( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "distinct") +} + +func TestLogic_distinct_on( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "distinct_on") +} + +func TestLogic_distsql_automatic_partial_stats( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "distsql_automatic_partial_stats") +} + +func TestLogic_distsql_automatic_stats( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "distsql_automatic_stats") +} + +func TestLogic_distsql_event_log( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "distsql_event_log") +} + +func TestLogic_distsql_expr( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "distsql_expr") +} + +func TestLogic_distsql_join( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "distsql_join") +} + +func TestLogic_distsql_srfs( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "distsql_srfs") +} + +func TestLogic_drop_database( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "drop_database") +} + +func TestLogic_drop_function( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "drop_function") +} + +func TestLogic_drop_index( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "drop_index") +} + +func TestLogic_drop_owned_by( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "drop_owned_by") +} + +func TestLogic_drop_procedure( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "drop_procedure") +} + +func TestLogic_drop_role_with_default_privileges( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "drop_role_with_default_privileges") +} + +func TestLogic_drop_role_with_default_privileges_in_schema( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "drop_role_with_default_privileges_in_schema") +} + +func TestLogic_drop_schema( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "drop_schema") +} + +func TestLogic_drop_sequence( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "drop_sequence") +} + +func TestLogic_drop_table( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "drop_table") +} + +func TestLogic_drop_temp( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "drop_temp") +} + +func TestLogic_drop_type( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "drop_type") +} + +func TestLogic_drop_user( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "drop_user") +} + +func TestLogic_drop_view( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "drop_view") +} + +func TestLogic_edge( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "edge") +} + +func TestLogic_enums( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "enums") +} + +func TestLogic_errors( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "errors") +} + +func TestLogic_event_log( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "event_log") +} + +func TestLogic_exclude_data_from_backup( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "exclude_data_from_backup") +} + +func TestLogic_experimental_distsql_planning( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "experimental_distsql_planning") +} + +func TestLogic_explain_analyze( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "explain_analyze") +} + +func TestLogic_export( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "export") +} + +func TestLogic_expression_index( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "expression_index") +} + +func TestLogic_external_connection_privileges( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "external_connection_privileges") +} + +func TestLogic_family( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "family") +} + +func TestLogic_fk( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "fk") +} + +func TestLogic_float( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "float") +} + +func TestLogic_format( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "format") +} + +func TestLogic_function_lookup( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "function_lookup") +} + +func TestLogic_fuzzystrmatch( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "fuzzystrmatch") +} + +func TestLogic_geospatial( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "geospatial") +} + +func TestLogic_geospatial_index( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "geospatial_index") +} + +func TestLogic_geospatial_meta( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "geospatial_meta") +} + +func TestLogic_geospatial_regression( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "geospatial_regression") +} + +func TestLogic_geospatial_zm( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "geospatial_zm") +} + +func TestLogic_grant_database( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "grant_database") +} + +func TestLogic_grant_in_txn( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "grant_in_txn") +} + +func TestLogic_grant_on_all_sequences_in_schema( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "grant_on_all_sequences_in_schema") +} + +func TestLogic_grant_on_all_tables_in_schema( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "grant_on_all_tables_in_schema") +} + +func TestLogic_grant_revoke_with_grant_option( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "grant_revoke_with_grant_option") +} + +func TestLogic_grant_role( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "grant_role") +} + +func TestLogic_grant_schema( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "grant_schema") +} + +func TestLogic_group_join( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "group_join") +} + +func TestLogic_hash_join( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "hash_join") +} + +func TestLogic_hash_sharded_index( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "hash_sharded_index") +} + +func TestLogic_hidden_columns( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "hidden_columns") +} + +func TestLogic_impure( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "impure") +} + +func TestLogic_index_join( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "index_join") +} + +func TestLogic_inet( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "inet") +} + +func TestLogic_inflight_trace_spans( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "inflight_trace_spans") +} + +func TestLogic_information_schema( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "information_schema") +} + +func TestLogic_inner_join( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "inner-join") +} + +func TestLogic_insert( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "insert") +} + +func TestLogic_int_size( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "int_size") +} + +func TestLogic_internal_executor( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "internal_executor") +} + +func TestLogic_interval( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "interval") +} + +func TestLogic_inverted_filter_geospatial( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "inverted_filter_geospatial") +} + +func TestLogic_inverted_filter_json_array( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "inverted_filter_json_array") +} + +func TestLogic_inverted_index( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "inverted_index") +} + +func TestLogic_inverted_index_multi_column( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "inverted_index_multi_column") +} + +func TestLogic_inverted_join_geospatial( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "inverted_join_geospatial") +} + +func TestLogic_inverted_join_json_array( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "inverted_join_json_array") +} + +func TestLogic_inverted_join_multi_column( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "inverted_join_multi_column") +} + +func TestLogic_jobs( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "jobs") +} + +func TestLogic_join( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "join") +} + +func TestLogic_json( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "json") +} + +func TestLogic_json_builtins( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "json_builtins") +} + +func TestLogic_json_index( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "json_index") +} + +func TestLogic_kv_builtin_functions( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "kv_builtin_functions") +} + +func TestLogic_limit( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "limit") +} + +func TestLogic_locality( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "locality") +} + +func TestLogic_lock_timeout( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "lock_timeout") +} + +func TestLogic_lookup_join( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "lookup_join") +} + +func TestLogic_lookup_join_spans( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "lookup_join_spans") +} + +func TestLogic_manual_retry( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "manual_retry") +} + +func TestLogic_materialized_view( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "materialized_view") +} + +func TestLogic_merge_join( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "merge_join") +} + +func TestLogic_multi_statement( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "multi_statement") +} + +func TestLogic_name_escapes( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "name_escapes") +} + +func TestLogic_namespace( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "namespace") +} + +func TestLogic_new_schema_changer( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "new_schema_changer") +} + +func TestLogic_no_primary_key( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "no_primary_key") +} + +func TestLogic_notice( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "notice") +} + +func TestLogic_numeric_references( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "numeric_references") +} + +func TestLogic_on_update( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "on_update") +} + +func TestLogic_operator( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "operator") +} + +func TestLogic_optimizer_timeout( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "optimizer_timeout") +} + +func TestLogic_order_by( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "order_by") +} + +func TestLogic_ordinal_references( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "ordinal_references") +} + +func TestLogic_ordinality( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "ordinality") +} + +func TestLogic_overflow( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "overflow") +} + +func TestLogic_overlaps( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "overlaps") +} + +func TestLogic_owner( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "owner") +} + +func TestLogic_parallel_stmts_compat( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "parallel_stmts_compat") +} + +func TestLogic_partial_index( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "partial_index") +} + +func TestLogic_partial_txn_commit( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "partial_txn_commit") +} + +func TestLogic_partitioning( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "partitioning") +} + +func TestLogic_pg_builtins( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "pg_builtins") +} + +func TestLogic_pg_catalog_pg_default_acl( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "pg_catalog_pg_default_acl") +} + +func TestLogic_pg_catalog_pg_default_acl_with_grant_option( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "pg_catalog_pg_default_acl_with_grant_option") +} + +func TestLogic_pg_extension( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "pg_extension") +} + +func TestLogic_pg_lsn( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "pg_lsn") +} + +func TestLogic_pgcrypto_builtins( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "pgcrypto_builtins") +} + +func TestLogic_pgoidtype( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "pgoidtype") +} + +func TestLogic_plpgsql_builtins( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "plpgsql_builtins") +} + +func TestLogic_poison_after_push( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "poison_after_push") +} + +func TestLogic_postgres_jsonb( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "postgres_jsonb") +} + +func TestLogic_postgresjoin( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "postgresjoin") +} + +func TestLogic_privilege_builtins( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "privilege_builtins") +} + +func TestLogic_privileges_comments( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "privileges_comments") +} + +func TestLogic_privileges_table( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "privileges_table") +} + +func TestLogic_proc_invokes_proc( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "proc_invokes_proc") +} + +func TestLogic_procedure( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "procedure") +} + +func TestLogic_procedure_deps( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "procedure_deps") +} + +func TestLogic_procedure_params( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "procedure_params") +} + +func TestLogic_procedure_polymorphic( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "procedure_polymorphic") +} + +func TestLogic_procedure_privileges( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "procedure_privileges") +} + +func TestLogic_procedure_schema_change( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "procedure_schema_change") +} + +func TestLogic_propagate_input_ordering( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "propagate_input_ordering") +} + +func TestLogic_reassign_owned_by( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "reassign_owned_by") +} + +func TestLogic_record( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "record") +} + +func TestLogic_redact_descriptor( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "redact_descriptor") +} + +func TestLogic_rename_atomic( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "rename_atomic") +} + +func TestLogic_rename_column( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "rename_column") +} + +func TestLogic_rename_constraint( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "rename_constraint") +} + +func TestLogic_rename_database( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "rename_database") +} + +func TestLogic_rename_index( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "rename_index") +} + +func TestLogic_rename_sequence( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "rename_sequence") +} + +func TestLogic_rename_table( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "rename_table") +} + +func TestLogic_rename_view( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "rename_view") +} + +func TestLogic_reset( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "reset") +} + +func TestLogic_retry( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "retry") +} + +func TestLogic_returning( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "returning") +} + +func TestLogic_routine_schema_change( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "routine_schema_change") +} + +func TestLogic_row_level_ttl( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "row_level_ttl") +} + +func TestLogic_rows_from( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "rows_from") +} + +func TestLogic_run_control( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "run_control") +} + +func TestLogic_save_table( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "save_table") +} + +func TestLogic_savepoints( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "savepoints") +} + +func TestLogic_scale( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "scale") +} + +func TestLogic_scatter( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "scatter") +} + +func TestLogic_schema( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "schema") +} + +func TestLogic_schema_change_feature_flags( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "schema_change_feature_flags") +} + +func TestLogic_schema_change_in_txn( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "schema_change_in_txn") +} + +func TestLogic_schema_change_logical_replication( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "schema_change_logical_replication") +} + +func TestLogic_schema_change_retry( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "schema_change_retry") +} + +func TestLogic_schema_locked( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "schema_locked") +} + +func TestLogic_schema_repair( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "schema_repair") +} + +func TestLogic_scrub( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "scrub") +} + +func TestLogic_secondary_index_column_families( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "secondary_index_column_families") +} + +func TestLogic_select( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "select") +} + +func TestLogic_select_for_share( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "select_for_share") +} + +func TestLogic_select_for_update( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "select_for_update") +} + +func TestLogic_select_index( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "select_index") +} + +func TestLogic_select_index_flags( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "select_index_flags") +} + +func TestLogic_select_search_path( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "select_search_path") +} + +func TestLogic_select_table_alias( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "select_table_alias") +} + +func TestLogic_sequences( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "sequences") +} + +func TestLogic_sequences_distsql( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "sequences_distsql") +} + +func TestLogic_sequences_regclass( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "sequences_regclass") +} + +func TestLogic_serial( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "serial") +} + +func TestLogic_serializable_eager_restart( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "serializable_eager_restart") +} + +func TestLogic_set_local( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "set_local") +} + +func TestLogic_set_role( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "set_role") +} + +func TestLogic_set_schema( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "set_schema") +} + +func TestLogic_set_time_zone( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "set_time_zone") +} + +func TestLogic_shift( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "shift") +} + +func TestLogic_show_commit_timestamp( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "show_commit_timestamp") +} + +func TestLogic_show_completions( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "show_completions") +} + +func TestLogic_show_create( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "show_create") +} + +func TestLogic_show_create_all_schemas( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "show_create_all_schemas") +} + +func TestLogic_show_create_all_tables( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "show_create_all_tables") +} + +func TestLogic_show_create_all_tables_builtin( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "show_create_all_tables_builtin") +} + +func TestLogic_show_create_all_types( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "show_create_all_types") +} + +func TestLogic_show_create_redact( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "show_create_redact") +} + +func TestLogic_show_default_privileges( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "show_default_privileges") +} + +func TestLogic_show_external_connections( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "show_external_connections") +} + +func TestLogic_show_fingerprints( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "show_fingerprints") +} + +func TestLogic_show_grants_on_virtual_table( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "show_grants_on_virtual_table") +} + +func TestLogic_show_grants_synthetic( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "show_grants_synthetic") +} + +func TestLogic_show_indexes( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "show_indexes") +} + +func TestLogic_show_tenant_fingerprints( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "show_tenant_fingerprints") +} + +func TestLogic_show_transfer_state( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "show_transfer_state") +} + +func TestLogic_show_var( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "show_var") +} + +func TestLogic_span_builtins( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "span_builtins") +} + +func TestLogic_split_at( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "split_at") +} + +func TestLogic_sqllite( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "sqllite") +} + +func TestLogic_sqlliveness( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "sqlliveness") +} + +func TestLogic_sqlsmith( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "sqlsmith") +} + +func TestLogic_srfs( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "srfs") +} + +func TestLogic_statement_source( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "statement_source") +} + +func TestLogic_statement_statistics_errors( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "statement_statistics_errors") +} + +func TestLogic_statement_statistics_errors_redacted( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "statement_statistics_errors_redacted") +} + +func TestLogic_stats( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "stats") +} + +func TestLogic_storing( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "storing") +} + +func TestLogic_strict_ddl_atomicity( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "strict_ddl_atomicity") +} + +func TestLogic_suboperators( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "suboperators") +} + +func TestLogic_subquery( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "subquery") +} + +func TestLogic_subquery_correlated( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "subquery_correlated") +} + +func TestLogic_synthetic_privileges( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "synthetic_privileges") +} + +func TestLogic_system( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "system") +} + +func TestLogic_system_columns( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "system_columns") +} + +func TestLogic_system_namespace( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "system_namespace") +} + +func TestLogic_table( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "table") +} + +func TestLogic_target_names( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "target_names") +} + +func TestLogic_temp_table( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "temp_table") +} + +func TestLogic_temp_table_txn( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "temp_table_txn") +} + +func TestLogic_tenant( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "tenant") +} + +func TestLogic_tenant_builtins( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "tenant_builtins") +} + +func TestLogic_time( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "time") +} + +func TestLogic_timestamp( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "timestamp") +} + +func TestLogic_timetz( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "timetz") +} + +func TestLogic_trigram_builtins( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "trigram_builtins") +} + +func TestLogic_trigram_indexes( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "trigram_indexes") +} + +func TestLogic_truncate( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "truncate") +} + +func TestLogic_truncate_with_concurrent_mutation( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "truncate_with_concurrent_mutation") +} + +func TestLogic_tsvector( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "tsvector") +} + +func TestLogic_tuple( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "tuple") +} + +func TestLogic_tuple_local( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "tuple_local") +} + +func TestLogic_txn( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "txn") +} + +func TestLogic_txn_as_of( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "txn_as_of") +} + +func TestLogic_txn_retry( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "txn_retry") +} + +func TestLogic_txn_stats( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "txn_stats") +} + +func TestLogic_type_privileges( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "type_privileges") +} + +func TestLogic_typing( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "typing") +} + +func TestLogic_udf( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf") +} + +func TestLogic_udf_calling_udf( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_calling_udf") +} + +func TestLogic_udf_delete( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_delete") +} + +func TestLogic_udf_deps( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_deps") +} + +func TestLogic_udf_fk( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_fk") +} + +func TestLogic_udf_in_column_defaults( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_in_column_defaults") +} + +func TestLogic_udf_in_constraints( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_in_constraints") +} + +func TestLogic_udf_insert( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_insert") +} + +func TestLogic_udf_observability( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_observability") +} + +func TestLogic_udf_oid_ref( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_oid_ref") +} + +func TestLogic_udf_options( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_options") +} + +func TestLogic_udf_params( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_params") +} + +func TestLogic_udf_polymorphic( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_polymorphic") +} + +func TestLogic_udf_prepare( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_prepare") +} + +func TestLogic_udf_privileges( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_privileges") +} + +func TestLogic_udf_privileges_mutations( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_privileges_mutations") +} + +func TestLogic_udf_procedure_mix( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_procedure_mix") +} + +func TestLogic_udf_record( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_record") +} + +func TestLogic_udf_regressions( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_regressions") +} + +func TestLogic_udf_rewrite( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_rewrite") +} + +func TestLogic_udf_schema_change( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_schema_change") +} + +func TestLogic_udf_security( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_security") +} + +func TestLogic_udf_setof( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_setof") +} + +func TestLogic_udf_star( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_star") +} + +func TestLogic_udf_subquery( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_subquery") +} + +func TestLogic_udf_unsupported( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_unsupported") +} + +func TestLogic_udf_update( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_update") +} + +func TestLogic_udf_upsert( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "udf_upsert") +} + +func TestLogic_union( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "union") +} + +func TestLogic_unique( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "unique") +} + +func TestLogic_update( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "update") +} + +func TestLogic_update_from( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "update_from") +} + +func TestLogic_upgrade_skip_version( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "upgrade_skip_version") +} + +func TestLogic_upsert( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "upsert") +} + +func TestLogic_upsert_non_metamorphic( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "upsert_non_metamorphic") +} + +func TestLogic_uuid( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "uuid") +} + +func TestLogic_values( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "values") +} + +func TestLogic_vectorize_agg( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "vectorize_agg") +} + +func TestLogic_vectorize_overloads( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "vectorize_overloads") +} + +func TestLogic_vectorize_shutdown( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "vectorize_shutdown") +} + +func TestLogic_vectorize_types( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "vectorize_types") +} + +func TestLogic_vectorize_unsupported( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "vectorize_unsupported") +} + +func TestLogic_vectoross( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "vectoross") +} + +func TestLogic_views( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "views") +} + +func TestLogic_virtual_columns( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "virtual_columns") +} + +func TestLogic_virtual_table_privileges( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "virtual_table_privileges") +} + +func TestLogic_void( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "void") +} + +func TestLogic_where( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "where") +} + +func TestLogic_window( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "window") +} + +func TestLogic_with( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "with") +} + +func TestLogic_workload_indexrecs( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "workload_indexrecs") +} + +func TestLogic_zero( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "zero") +} + +func TestLogic_zigzag_join( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "zigzag_join") +} + +func TestLogic_zone_config( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "zone_config") +} + +func TestLogic_zone_config_system_tenant( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runLogicTest(t, "zone_config_system_tenant") +} diff --git a/pkg/sql/opt/exec/execbuilder/tests/local-mixed-24.3/BUILD.bazel b/pkg/sql/opt/exec/execbuilder/tests/local-mixed-24.3/BUILD.bazel new file mode 100644 index 000000000000..c2e2f25aa25e --- /dev/null +++ b/pkg/sql/opt/exec/execbuilder/tests/local-mixed-24.3/BUILD.bazel @@ -0,0 +1,31 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_test") + +go_test( + name = "local-mixed-24_3_test", + size = "enormous", + srcs = ["generated_test.go"], + data = [ + "//c-deps:libgeos", # keep + "//pkg/sql/opt/exec/execbuilder:testdata", # keep + ], + exec_properties = select({ + "//build/toolchains:is_heavy": {"test.Pool": "heavy"}, + "//conditions:default": {"test.Pool": "large"}, + }), + shard_count = 1, + tags = ["cpu:1"], + deps = [ + "//pkg/base", + "//pkg/build/bazel", + "//pkg/security/securityassets", + "//pkg/security/securitytest", + "//pkg/server", + "//pkg/sql", + "//pkg/sql/logictest", + "//pkg/testutils/serverutils", + "//pkg/testutils/skip", + "//pkg/testutils/testcluster", + "//pkg/util/leaktest", + "//pkg/util/randutil", + ], +) diff --git a/pkg/sql/opt/exec/execbuilder/tests/local-mixed-24.3/generated_test.go b/pkg/sql/opt/exec/execbuilder/tests/local-mixed-24.3/generated_test.go new file mode 100644 index 000000000000..3fcef1d3e528 --- /dev/null +++ b/pkg/sql/opt/exec/execbuilder/tests/local-mixed-24.3/generated_test.go @@ -0,0 +1,93 @@ +// Copyright 2022 The Cockroach Authors. +// +// Use of this software is governed by the CockroachDB Software License +// included in the /LICENSE file. + +// Code generated by generate-logictest, DO NOT EDIT. + +package testlocal_mixed_243 + +import ( + "os" + "path/filepath" + "testing" + + "github.com/cockroachdb/cockroach/pkg/base" + "github.com/cockroachdb/cockroach/pkg/build/bazel" + "github.com/cockroachdb/cockroach/pkg/security/securityassets" + "github.com/cockroachdb/cockroach/pkg/security/securitytest" + "github.com/cockroachdb/cockroach/pkg/server" + "github.com/cockroachdb/cockroach/pkg/sql" + "github.com/cockroachdb/cockroach/pkg/sql/logictest" + "github.com/cockroachdb/cockroach/pkg/testutils/serverutils" + "github.com/cockroachdb/cockroach/pkg/testutils/skip" + "github.com/cockroachdb/cockroach/pkg/testutils/testcluster" + "github.com/cockroachdb/cockroach/pkg/util/leaktest" + "github.com/cockroachdb/cockroach/pkg/util/randutil" +) + +const configIdx = 21 + +var execBuildLogicTestDir string + +func init() { + if bazel.BuiltWithBazel() { + var err error + execBuildLogicTestDir, err = bazel.Runfile("pkg/sql/opt/exec/execbuilder/testdata") + if err != nil { + panic(err) + } + } else { + execBuildLogicTestDir = "../../../../../../sql/opt/exec/execbuilder/testdata" + } +} + +func TestMain(m *testing.M) { + securityassets.SetLoader(securitytest.EmbeddedAssets) + randutil.SeedForTests() + serverutils.InitTestServerFactory(server.TestServerFactory) + serverutils.InitTestClusterFactory(testcluster.TestClusterFactory) + + defer serverutils.TestingSetDefaultTenantSelectionOverride( + base.TestIsForStuffThatShouldWorkWithSecondaryTenantsButDoesntYet(76378), + )() + + os.Exit(m.Run()) +} + +func runExecBuildLogicTest(t *testing.T, file string) { + defer sql.TestingOverrideExplainEnvVersion("CockroachDB execbuilder test version")() + skip.UnderDeadlock(t, "times out and/or hangs") + serverArgs := logictest.TestServerArgs{ + DisableWorkmemRandomization: true, + ForceProductionValues: true, + // Disable the direct scans in order to keep the output of EXPLAIN (VEC) + // deterministic. + DisableDirectColumnarScans: true, + } + logictest.RunLogicTest(t, serverArgs, configIdx, filepath.Join(execBuildLogicTestDir, file)) +} + +// TestLogic_tmp runs any tests that are prefixed with "_", in which a dedicated +// test is not generated for. This allows developers to create and run temporary +// test files that are not checked into the repository, without repeatedly +// regenerating and reverting changes to this file, generated_test.go. +// +// TODO(mgartner): Add file filtering so that individual files can be run, +// instead of all files with the "_" prefix. +func TestLogic_tmp(t *testing.T) { + defer leaktest.AfterTest(t)() + var glob string + glob = filepath.Join(execBuildLogicTestDir, "_*") + serverArgs := logictest.TestServerArgs{ + DisableWorkmemRandomization: true, + } + logictest.RunLogicTests(t, serverArgs, configIdx, glob) +} + +func TestExecBuild_geospatial( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runExecBuildLogicTest(t, "geospatial") +} diff --git a/pkg/sql/pgwire/testdata/pgtest/multiple_active_portals b/pkg/sql/pgwire/testdata/pgtest/multiple_active_portals index 4bff6c4d77ac..28be155f3cb0 100644 --- a/pkg/sql/pgwire/testdata/pgtest/multiple_active_portals +++ b/pkg/sql/pgwire/testdata/pgtest/multiple_active_portals @@ -457,7 +457,7 @@ ReadyForQuery {"Type":"PortalSuspended"} {"Type":"DataRow","Values":[{"text":"2"}]} {"Type":"PortalSuspended"} -{"Type":"ErrorResponse","Code":"0A000","Message":"unimplemented: the statement for a pausable portal must be a read-only SELECT query with no sub-queries or post-queries","Detail":"cannot execute a portal while a different one is open","Hint":"You have attempted to use a feature that is not yet implemented.\nSee: https://go.crdb.dev/issue-v/98911/v24.3"} +{"Type":"ErrorResponse","Code":"0A000","Message":"unimplemented: the statement for a pausable portal must be a read-only SELECT query with no sub-queries or post-queries","Detail":"cannot execute a portal while a different one is open","Hint":"You have attempted to use a feature that is not yet implemented.\nSee: https://go.crdb.dev/issue-v/98911/dev"} {"Type":"ReadyForQuery","TxStatus":"E"} send crdb_only @@ -504,7 +504,7 @@ ReadyForQuery {"Type":"BindComplete"} {"Type":"DataRow","Values":[{"text":"f"}]} {"Type":"PortalSuspended"} -{"Type":"ErrorResponse","Code":"0A000","Message":"unimplemented: the statement for a pausable portal must be a read-only SELECT query with no sub-queries or post-queries","Detail":"cannot execute a portal while a different one is open","Hint":"You have attempted to use a feature that is not yet implemented.\nSee: https://go.crdb.dev/issue-v/98911/v24.3"} +{"Type":"ErrorResponse","Code":"0A000","Message":"unimplemented: the statement for a pausable portal must be a read-only SELECT query with no sub-queries or post-queries","Detail":"cannot execute a portal while a different one is open","Hint":"You have attempted to use a feature that is not yet implemented.\nSee: https://go.crdb.dev/issue-v/98911/dev"} {"Type":"ReadyForQuery","TxStatus":"E"} send crdb_only @@ -553,7 +553,7 @@ ReadyForQuery {"Type":"BindComplete"} {"Type":"DataRow","Values":[{"text":"10"}]} {"Type":"PortalSuspended"} -{"Type":"ErrorResponse","Code":"0A000","Message":"unimplemented: the statement for a pausable portal must be a read-only SELECT query with no sub-queries or post-queries","Detail":"cannot execute a portal while a different one is open","Hint":"You have attempted to use a feature that is not yet implemented.\nSee: https://go.crdb.dev/issue-v/98911/v24.3"} +{"Type":"ErrorResponse","Code":"0A000","Message":"unimplemented: the statement for a pausable portal must be a read-only SELECT query with no sub-queries or post-queries","Detail":"cannot execute a portal while a different one is open","Hint":"You have attempted to use a feature that is not yet implemented.\nSee: https://go.crdb.dev/issue-v/98911/dev"} {"Type":"ReadyForQuery","TxStatus":"E"} send crdb_only @@ -602,7 +602,7 @@ ReadyForQuery {"Type":"BindComplete"} {"Type":"DataRow","Values":[{"text":"1"}]} {"Type":"PortalSuspended"} -{"Type":"ErrorResponse","Code":"0A000","Message":"unimplemented: the statement for a pausable portal must be a read-only SELECT query with no sub-queries or post-queries","Detail":"cannot execute a portal while a different one is open","Hint":"You have attempted to use a feature that is not yet implemented.\nSee: https://go.crdb.dev/issue-v/98911/v24.3"} +{"Type":"ErrorResponse","Code":"0A000","Message":"unimplemented: the statement for a pausable portal must be a read-only SELECT query with no sub-queries or post-queries","Detail":"cannot execute a portal while a different one is open","Hint":"You have attempted to use a feature that is not yet implemented.\nSee: https://go.crdb.dev/issue-v/98911/dev"} {"Type":"ReadyForQuery","TxStatus":"E"} send crdb_only @@ -946,7 +946,7 @@ ReadyForQuery {"Type":"PortalSuspended"} {"Type":"DataRow","Values":[{"text":"10"}]} {"Type":"PortalSuspended"} -{"Type":"ErrorResponse","Code":"0A000","Message":"unimplemented: the statement for a pausable portal must be a read-only SELECT query with no sub-queries or post-queries","Detail":"cannot execute a portal while a different one is open","Hint":"You have attempted to use a feature that is not yet implemented.\nSee: https://go.crdb.dev/issue-v/98911/v24.3"} +{"Type":"ErrorResponse","Code":"0A000","Message":"unimplemented: the statement for a pausable portal must be a read-only SELECT query with no sub-queries or post-queries","Detail":"cannot execute a portal while a different one is open","Hint":"You have attempted to use a feature that is not yet implemented.\nSee: https://go.crdb.dev/issue-v/98911/dev"} {"Type":"ReadyForQuery","TxStatus":"E"} send diff --git a/pkg/sql/pgwire/testdata/pgtest/portals_crbugs b/pkg/sql/pgwire/testdata/pgtest/portals_crbugs index 935d8fe464a2..71fb2263f290 100644 --- a/pkg/sql/pgwire/testdata/pgtest/portals_crbugs +++ b/pkg/sql/pgwire/testdata/pgtest/portals_crbugs @@ -367,6 +367,6 @@ ErrorResponse {"Type":"BindComplete"} {"Type":"DataRow","Values":[{"text":"(1,1)"}]} {"Type":"PortalSuspended"} -{"Type":"ErrorResponse","Code":"0A000","Message":"unimplemented: the statement for a pausable portal must be a read-only SELECT query with no sub-queries or post-queries","Detail":"cannot execute a portal while a different one is open","Hint":"You have attempted to use a feature that is not yet implemented.\nSee: https://go.crdb.dev/issue-v/98911/v24.3"} +{"Type":"ErrorResponse","Code":"0A000","Message":"unimplemented: the statement for a pausable portal must be a read-only SELECT query with no sub-queries or post-queries","Detail":"cannot execute a portal while a different one is open","Hint":"You have attempted to use a feature that is not yet implemented.\nSee: https://go.crdb.dev/issue-v/98911/dev"} subtest end diff --git a/pkg/sql/schemachanger/scplan/internal/rules/current/testdata/deprules b/pkg/sql/schemachanger/scplan/internal/rules/current/testdata/deprules index f81856c46fe4..bdfb280f3a6b 100644 --- a/pkg/sql/schemachanger/scplan/internal/rules/current/testdata/deprules +++ b/pkg/sql/schemachanger/scplan/internal/rules/current/testdata/deprules @@ -2982,7 +2982,7 @@ deprules kind: Precedence to: relation-Node query: - - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.NamedRangeZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - $relation[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - joinOnDescID($dependent, $relation, $relation-id) - ToPublicOrTransient($dependent-Target, $relation-Target) @@ -3226,7 +3226,7 @@ deprules to: referencing-via-attr-Node query: - $referenced-descriptor[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - - $referencing-via-attr[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.NamedRangeZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.RowLevelTTL', '*scpb.SchemaComment', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $referencing-via-attr[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.RowLevelTTL', '*scpb.SchemaComment', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - joinReferencedDescID($referencing-via-attr, $referenced-descriptor, $desc-id) - toAbsent($referenced-descriptor-Target, $referencing-via-attr-Target) - $referenced-descriptor-Node[CurrentStatus] = DROPPED @@ -3282,7 +3282,7 @@ deprules to: dependent-Node query: - $descriptor[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - - $dependent[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.NamedRangeZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - joinOnDescID($descriptor, $dependent, $desc-id) - toAbsent($descriptor-Target, $dependent-Target) - $descriptor-Node[CurrentStatus] = DROPPED @@ -3321,7 +3321,7 @@ deprules to: dependent-Node query: - $relation[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseData', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexData', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.NamedRangeZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableData', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseData', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexData', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableData', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - joinOnDescID($relation, $dependent, $relation-id) - ToPublicOrTransient($relation-Target, $dependent-Target) - $relation-Node[CurrentStatus] = DESCRIPTOR_ADDED @@ -3802,7 +3802,7 @@ deprules kind: Precedence to: descriptor-Node query: - - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.NamedRangeZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - $descriptor[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - joinOnDescID($dependent, $descriptor, $desc-id) - toAbsent($dependent-Target, $descriptor-Target) @@ -7556,7 +7556,7 @@ deprules kind: Precedence to: relation-Node query: - - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.NamedRangeZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - $relation[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - joinOnDescID($dependent, $relation, $relation-id) - ToPublicOrTransient($dependent-Target, $relation-Target) @@ -7800,7 +7800,7 @@ deprules to: referencing-via-attr-Node query: - $referenced-descriptor[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - - $referencing-via-attr[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.NamedRangeZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.RowLevelTTL', '*scpb.SchemaComment', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $referencing-via-attr[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.RowLevelTTL', '*scpb.SchemaComment', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - joinReferencedDescID($referencing-via-attr, $referenced-descriptor, $desc-id) - toAbsent($referenced-descriptor-Target, $referencing-via-attr-Target) - $referenced-descriptor-Node[CurrentStatus] = DROPPED @@ -7856,7 +7856,7 @@ deprules to: dependent-Node query: - $descriptor[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - - $dependent[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.NamedRangeZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - joinOnDescID($descriptor, $dependent, $desc-id) - toAbsent($descriptor-Target, $dependent-Target) - $descriptor-Node[CurrentStatus] = DROPPED @@ -7895,7 +7895,7 @@ deprules to: dependent-Node query: - $relation[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseData', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexData', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.NamedRangeZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableData', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseData', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexData', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableData', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - joinOnDescID($relation, $dependent, $relation-id) - ToPublicOrTransient($relation-Target, $dependent-Target) - $relation-Node[CurrentStatus] = DESCRIPTOR_ADDED @@ -8376,7 +8376,7 @@ deprules kind: Precedence to: descriptor-Node query: - - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.NamedRangeZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - $descriptor[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - joinOnDescID($dependent, $descriptor, $desc-id) - toAbsent($dependent-Target, $descriptor-Target) diff --git a/pkg/sql/schemachanger/scplan/internal/rules/release_24_3/testdata/deprules b/pkg/sql/schemachanger/scplan/internal/rules/release_24_3/testdata/deprules index ee74c0185016..954b8af665ca 100644 --- a/pkg/sql/schemachanger/scplan/internal/rules/release_24_3/testdata/deprules +++ b/pkg/sql/schemachanger/scplan/internal/rules/release_24_3/testdata/deprules @@ -2891,7 +2891,7 @@ deprules kind: Precedence to: relation-Node query: - - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.NamedRangeZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - $relation[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - joinOnDescID($dependent, $relation, $relation-id) - ToPublicOrTransient($dependent-Target, $relation-Target) @@ -3135,7 +3135,7 @@ deprules to: referencing-via-attr-Node query: - $referenced-descriptor[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - - $referencing-via-attr[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.NamedRangeZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.RowLevelTTL', '*scpb.SchemaComment', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $referencing-via-attr[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.RowLevelTTL', '*scpb.SchemaComment', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - joinReferencedDescID($referencing-via-attr, $referenced-descriptor, $desc-id) - toAbsent($referenced-descriptor-Target, $referencing-via-attr-Target) - $referenced-descriptor-Node[CurrentStatus] = DROPPED @@ -3191,7 +3191,7 @@ deprules to: dependent-Node query: - $descriptor[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - - $dependent[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.NamedRangeZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - joinOnDescID($descriptor, $dependent, $desc-id) - toAbsent($descriptor-Target, $dependent-Target) - $descriptor-Node[CurrentStatus] = DROPPED @@ -3230,7 +3230,7 @@ deprules to: dependent-Node query: - $relation[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseData', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexData', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.NamedRangeZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableData', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseData', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexData', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableData', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - joinOnDescID($relation, $dependent, $relation-id) - ToPublicOrTransient($relation-Target, $dependent-Target) - $relation-Node[CurrentStatus] = DESCRIPTOR_ADDED @@ -3671,7 +3671,7 @@ deprules kind: Precedence to: descriptor-Node query: - - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.NamedRangeZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - $descriptor[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - joinOnDescID($dependent, $descriptor, $desc-id) - toAbsent($dependent-Target, $descriptor-Target) @@ -7334,7 +7334,7 @@ deprules kind: Precedence to: relation-Node query: - - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.NamedRangeZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - $relation[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - joinOnDescID($dependent, $relation, $relation-id) - ToPublicOrTransient($dependent-Target, $relation-Target) @@ -7578,7 +7578,7 @@ deprules to: referencing-via-attr-Node query: - $referenced-descriptor[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - - $referencing-via-attr[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.NamedRangeZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.RowLevelTTL', '*scpb.SchemaComment', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $referencing-via-attr[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.RowLevelTTL', '*scpb.SchemaComment', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - joinReferencedDescID($referencing-via-attr, $referenced-descriptor, $desc-id) - toAbsent($referenced-descriptor-Target, $referencing-via-attr-Target) - $referenced-descriptor-Node[CurrentStatus] = DROPPED @@ -7634,7 +7634,7 @@ deprules to: dependent-Node query: - $descriptor[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - - $dependent[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.NamedRangeZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraintUnvalidated', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - joinOnDescID($descriptor, $dependent, $desc-id) - toAbsent($descriptor-Target, $dependent-Target) - $descriptor-Node[CurrentStatus] = DROPPED @@ -7673,7 +7673,7 @@ deprules to: dependent-Node query: - $relation[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseData', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexData', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.NamedRangeZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableData', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseData', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexData', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableData', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - joinOnDescID($relation, $dependent, $relation-id) - ToPublicOrTransient($relation-Target, $dependent-Target) - $relation-Node[CurrentStatus] = DESCRIPTOR_ADDED @@ -8114,7 +8114,7 @@ deprules kind: Precedence to: descriptor-Node query: - - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.NamedRangeZoneConfig', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] + - $dependent[Type] IN ['*scpb.CheckConstraint', '*scpb.CheckConstraintUnvalidated', '*scpb.Column', '*scpb.ColumnComment', '*scpb.ColumnComputeExpression', '*scpb.ColumnDefaultExpression', '*scpb.ColumnFamily', '*scpb.ColumnName', '*scpb.ColumnNotNull', '*scpb.ColumnOnUpdateExpression', '*scpb.ColumnType', '*scpb.CompositeTypeAttrName', '*scpb.CompositeTypeAttrType', '*scpb.ConstraintComment', '*scpb.ConstraintWithoutIndexName', '*scpb.DatabaseComment', '*scpb.DatabaseRegionConfig', '*scpb.DatabaseRoleSetting', '*scpb.DatabaseZoneConfig', '*scpb.EnumTypeValue', '*scpb.ForeignKeyConstraint', '*scpb.ForeignKeyConstraintUnvalidated', '*scpb.FunctionBody', '*scpb.FunctionLeakProof', '*scpb.FunctionName', '*scpb.FunctionNullInputBehavior', '*scpb.FunctionSecurity', '*scpb.FunctionVolatility', '*scpb.IndexColumn', '*scpb.IndexComment', '*scpb.IndexName', '*scpb.IndexPartitioning', '*scpb.IndexZoneConfig', '*scpb.LDRJobIDs', '*scpb.Namespace', '*scpb.Owner', '*scpb.PartitionZoneConfig', '*scpb.PrimaryIndex', '*scpb.RowLevelTTL', '*scpb.SchemaChild', '*scpb.SchemaComment', '*scpb.SchemaParent', '*scpb.SecondaryIndex', '*scpb.SecondaryIndexPartial', '*scpb.SequenceOption', '*scpb.SequenceOwner', '*scpb.TableComment', '*scpb.TableLocalityGlobal', '*scpb.TableLocalityPrimaryRegion', '*scpb.TableLocalityRegionalByRow', '*scpb.TableLocalitySecondaryRegion', '*scpb.TablePartitioning', '*scpb.TableSchemaLocked', '*scpb.TableZoneConfig', '*scpb.TemporaryIndex', '*scpb.Trigger', '*scpb.TriggerDeps', '*scpb.TriggerEnabled', '*scpb.TriggerEvents', '*scpb.TriggerFunctionCall', '*scpb.TriggerName', '*scpb.TriggerTiming', '*scpb.TriggerTransition', '*scpb.TriggerWhen', '*scpb.TypeComment', '*scpb.UniqueWithoutIndexConstraint', '*scpb.UniqueWithoutIndexConstraintUnvalidated', '*scpb.UserPrivileges'] - $descriptor[Type] IN ['*scpb.AliasType', '*scpb.CompositeType', '*scpb.Database', '*scpb.EnumType', '*scpb.Function', '*scpb.Schema', '*scpb.Sequence', '*scpb.Table', '*scpb.View'] - joinOnDescID($dependent, $descriptor, $desc-id) - toAbsent($dependent-Target, $descriptor-Target) diff --git a/pkg/sql/sqlitelogictest/tests/local-mixed-24.3/BUILD.bazel b/pkg/sql/sqlitelogictest/tests/local-mixed-24.3/BUILD.bazel new file mode 100644 index 000000000000..868c4f0420a6 --- /dev/null +++ b/pkg/sql/sqlitelogictest/tests/local-mixed-24.3/BUILD.bazel @@ -0,0 +1,28 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_test") + +go_test( + name = "local-mixed-24_3_test", + size = "enormous", + srcs = ["generated_test.go"], + data = [ + "//c-deps:libgeos", # keep + "@com_github_cockroachdb_sqllogictest//:testfiles", # keep + ], + exec_properties = {"test.Pool": "default"}, + shard_count = 48, + tags = ["cpu:1"], + deps = [ + "//pkg/base", + "//pkg/build/bazel", + "//pkg/security/securityassets", + "//pkg/security/securitytest", + "//pkg/server", + "//pkg/sql/logictest", + "//pkg/sql/sqlitelogictest", + "//pkg/testutils/serverutils", + "//pkg/testutils/skip", + "//pkg/testutils/testcluster", + "//pkg/util/leaktest", + "//pkg/util/randutil", + ], +) diff --git a/pkg/sql/sqlitelogictest/tests/local-mixed-24.3/generated_test.go b/pkg/sql/sqlitelogictest/tests/local-mixed-24.3/generated_test.go new file mode 100644 index 000000000000..674939782812 --- /dev/null +++ b/pkg/sql/sqlitelogictest/tests/local-mixed-24.3/generated_test.go @@ -0,0 +1,1434 @@ +// Copyright 2022 The Cockroach Authors. +// +// Use of this software is governed by the CockroachDB Software License +// included in the /LICENSE file. + +// Code generated by generate-logictest, DO NOT EDIT. + +package testlocal_mixed_243 + +import ( + "flag" + "os" + "path/filepath" + "testing" + + "github.com/cockroachdb/cockroach/pkg/base" + "github.com/cockroachdb/cockroach/pkg/build/bazel" + "github.com/cockroachdb/cockroach/pkg/security/securityassets" + "github.com/cockroachdb/cockroach/pkg/security/securitytest" + "github.com/cockroachdb/cockroach/pkg/server" + "github.com/cockroachdb/cockroach/pkg/sql/logictest" + "github.com/cockroachdb/cockroach/pkg/sql/sqlitelogictest" + "github.com/cockroachdb/cockroach/pkg/testutils/serverutils" + "github.com/cockroachdb/cockroach/pkg/testutils/skip" + "github.com/cockroachdb/cockroach/pkg/testutils/testcluster" + "github.com/cockroachdb/cockroach/pkg/util/leaktest" + "github.com/cockroachdb/cockroach/pkg/util/randutil" +) + +const configIdx = 21 + +var sqliteLogicTestDir string + +func init() { +} + +func TestMain(m *testing.M) { + flag.Parse() + if *logictest.Bigtest { + if bazel.BuiltWithBazel() { + var err error + sqliteLogicTestDir, err = bazel.Runfile("external/com_github_cockroachdb_sqllogictest") + if err != nil { + panic(err) + } + } else { + var err error + sqliteLogicTestDir, err = sqlitelogictest.FindLocalLogicTestClone() + if err != nil { + panic(err) + } + } + } + securityassets.SetLoader(securitytest.EmbeddedAssets) + randutil.SeedForTests() + serverutils.InitTestServerFactory(server.TestServerFactory) + serverutils.InitTestClusterFactory(testcluster.TestClusterFactory) + + defer serverutils.TestingSetDefaultTenantSelectionOverride( + base.TestIsForStuffThatShouldWorkWithSecondaryTenantsButDoesntYet(76378), + )() + + os.Exit(m.Run()) +} + +func runSqliteLogicTest(t *testing.T, file string) { + skip.UnderDeadlock(t, "times out and/or hangs") + if !*logictest.Bigtest { + skip.IgnoreLint(t, "-bigtest flag must be specified to run this test") + } + // SQLLite logic tests can be very memory intensive, so we give them larger + // limit than other logic tests get. Also some of the 'delete' files become + // extremely slow when MVCC range tombstones are enabled for point deletes, + // so we disable that. + serverArgs := logictest.TestServerArgs{ + MaxSQLMemoryLimit: 512 << 20, // 512 MiB + DisableUseMVCCRangeTombstonesForPointDeletes: true, + // Some sqlite tests with very low bytes limit value are too slow, so + // ensure 3 KiB lower bound. + BatchBytesLimitLowerBound: 3 << 10, // 3 KiB + } + logictest.RunLogicTest(t, serverArgs, configIdx, filepath.Join(sqliteLogicTestDir, file)) +} + +func TestSqlLiteLogic_testindexbetween1slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/between/1/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexbetween10slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/between/10/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexbetween10slt_good_1_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/between/10/slt_good_1.test") +} + +func TestSqlLiteLogic_testindexbetween10slt_good_2_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/between/10/slt_good_2.test") +} + +func TestSqlLiteLogic_testindexbetween10slt_good_3_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/between/10/slt_good_3.test") +} + +func TestSqlLiteLogic_testindexbetween10slt_good_4_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/between/10/slt_good_4.test") +} + +func TestSqlLiteLogic_testindexbetween10slt_good_5_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/between/10/slt_good_5.test") +} + +func TestSqlLiteLogic_testindexbetween100slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/between/100/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexbetween100slt_good_1_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/between/100/slt_good_1.test") +} + +func TestSqlLiteLogic_testindexbetween100slt_good_2_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/between/100/slt_good_2.test") +} + +func TestSqlLiteLogic_testindexbetween100slt_good_3_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/between/100/slt_good_3.test") +} + +func TestSqlLiteLogic_testindexbetween100slt_good_4_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/between/100/slt_good_4.test") +} + +func TestSqlLiteLogic_testindexbetween1000slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/between/1000/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_1_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_1.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_10_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_10.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_11_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_11.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_12_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_12.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_13_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_13.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_14_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_14.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_15_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_15.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_16_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_16.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_17_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_17.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_18_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_18.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_19_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_19.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_2_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_2.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_20_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_20.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_21_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_21.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_22_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_22.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_23_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_23.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_24_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_24.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_25_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_25.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_26_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_26.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_27_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_27.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_28_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_28.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_29_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_29.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_3_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_3.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_30_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_30.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_31_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_31.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_32_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_32.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_33_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_33.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_34_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_34.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_4_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_4.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_5_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_5.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_6_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_6.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_7_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_7.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_8_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_8.test") +} + +func TestSqlLiteLogic_testindexcommute10slt_good_9_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/10/slt_good_9.test") +} + +func TestSqlLiteLogic_testindexcommute100slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/100/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexcommute100slt_good_1_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/100/slt_good_1.test") +} + +func TestSqlLiteLogic_testindexcommute100slt_good_10_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/100/slt_good_10.test") +} + +func TestSqlLiteLogic_testindexcommute100slt_good_11_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/100/slt_good_11.test") +} + +func TestSqlLiteLogic_testindexcommute100slt_good_12_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/100/slt_good_12.test") +} + +func TestSqlLiteLogic_testindexcommute100slt_good_2_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/100/slt_good_2.test") +} + +func TestSqlLiteLogic_testindexcommute100slt_good_3_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/100/slt_good_3.test") +} + +func TestSqlLiteLogic_testindexcommute100slt_good_4_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/100/slt_good_4.test") +} + +func TestSqlLiteLogic_testindexcommute100slt_good_5_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/100/slt_good_5.test") +} + +func TestSqlLiteLogic_testindexcommute100slt_good_6_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/100/slt_good_6.test") +} + +func TestSqlLiteLogic_testindexcommute100slt_good_7_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/100/slt_good_7.test") +} + +func TestSqlLiteLogic_testindexcommute100slt_good_8_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/100/slt_good_8.test") +} + +func TestSqlLiteLogic_testindexcommute100slt_good_9_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/100/slt_good_9.test") +} + +func TestSqlLiteLogic_testindexcommute1000slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/1000/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexcommute1000slt_good_1_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/1000/slt_good_1.test") +} + +func TestSqlLiteLogic_testindexcommute1000slt_good_2_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/1000/slt_good_2.test") +} + +func TestSqlLiteLogic_testindexcommute1000slt_good_3_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/commute/1000/slt_good_3.test") +} + +func TestSqlLiteLogic_testindexdelete1slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/delete/1/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexdelete10slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/delete/10/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexdelete10slt_good_1_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/delete/10/slt_good_1.test") +} + +func TestSqlLiteLogic_testindexdelete10slt_good_2_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/delete/10/slt_good_2.test") +} + +func TestSqlLiteLogic_testindexdelete10slt_good_3_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/delete/10/slt_good_3.test") +} + +func TestSqlLiteLogic_testindexdelete10slt_good_4_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/delete/10/slt_good_4.test") +} + +func TestSqlLiteLogic_testindexdelete10slt_good_5_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/delete/10/slt_good_5.test") +} + +func TestSqlLiteLogic_testindexdelete100slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/delete/100/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexdelete100slt_good_1_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/delete/100/slt_good_1.test") +} + +func TestSqlLiteLogic_testindexdelete100slt_good_2_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/delete/100/slt_good_2.test") +} + +func TestSqlLiteLogic_testindexdelete100slt_good_3_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/delete/100/slt_good_3.test") +} + +func TestSqlLiteLogic_testindexdelete1000slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/delete/1000/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexdelete1000slt_good_1_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/delete/1000/slt_good_1.test") +} + +func TestSqlLiteLogic_testindexdelete10000slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/delete/10000/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexin10slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/in/10/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexin10slt_good_1_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/in/10/slt_good_1.test") +} + +func TestSqlLiteLogic_testindexin10slt_good_2_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/in/10/slt_good_2.test") +} + +func TestSqlLiteLogic_testindexin10slt_good_3_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/in/10/slt_good_3.test") +} + +func TestSqlLiteLogic_testindexin10slt_good_4_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/in/10/slt_good_4.test") +} + +func TestSqlLiteLogic_testindexin10slt_good_5_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/in/10/slt_good_5.test") +} + +func TestSqlLiteLogic_testindexin100slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/in/100/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexin100slt_good_1_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/in/100/slt_good_1.test") +} + +func TestSqlLiteLogic_testindexin100slt_good_2_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/in/100/slt_good_2.test") +} + +func TestSqlLiteLogic_testindexin100slt_good_3_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/in/100/slt_good_3.test") +} + +func TestSqlLiteLogic_testindexin100slt_good_4_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/in/100/slt_good_4.test") +} + +func TestSqlLiteLogic_testindexin1000slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/in/1000/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexin1000slt_good_1_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/in/1000/slt_good_1.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_1_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_1.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_10_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_10.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_11_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_11.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_12_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_12.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_13_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_13.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_14_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_14.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_15_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_15.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_16_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_16.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_17_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_17.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_18_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_18.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_19_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_19.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_2_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_2.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_20_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_20.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_21_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_21.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_22_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_22.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_23_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_23.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_24_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_24.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_25_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_25.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_3_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_3.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_4_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_4.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_5_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_5.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_6_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_6.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_7_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_7.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_8_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_8.test") +} + +func TestSqlLiteLogic_testindexorderby10slt_good_9_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/10/slt_good_9.test") +} + +func TestSqlLiteLogic_testindexorderby100slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/100/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexorderby100slt_good_1_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/100/slt_good_1.test") +} + +func TestSqlLiteLogic_testindexorderby100slt_good_2_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/100/slt_good_2.test") +} + +func TestSqlLiteLogic_testindexorderby100slt_good_3_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/100/slt_good_3.test") +} + +func TestSqlLiteLogic_testindexorderby1000slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby/1000/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_1_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_1.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_10_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_10.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_11_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_11.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_12_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_12.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_13_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_13.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_14_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_14.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_15_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_15.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_16_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_16.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_17_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_17.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_18_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_18.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_19_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_19.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_2_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_2.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_20_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_20.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_21_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_21.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_22_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_22.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_23_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_23.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_24_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_24.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_25_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_25.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_26_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_26.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_27_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_27.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_28_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_28.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_29_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_29.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_3_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_3.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_30_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_30.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_31_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_31.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_32_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_32.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_33_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_33.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_34_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_34.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_35_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_35.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_36_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_36.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_37_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_37.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_38_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_38.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_39_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_39.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_4_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_4.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_5_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_5.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_6_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_6.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_7_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_7.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_8_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_8.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort10slt_good_9_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/10/slt_good_9.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort100slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/100/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort100slt_good_1_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/100/slt_good_1.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort100slt_good_2_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/100/slt_good_2.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort100slt_good_3_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/100/slt_good_3.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort100slt_good_4_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/100/slt_good_4.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort100slt_good_5_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/100/slt_good_5.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort100slt_good_6_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/100/slt_good_6.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort1000slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/1000/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexorderby_nosort1000slt_good_1_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/orderby_nosort/1000/slt_good_1.test") +} + +func TestSqlLiteLogic_testindexview10slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/view/10/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexview10slt_good_1_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/view/10/slt_good_1.test") +} + +func TestSqlLiteLogic_testindexview10slt_good_2_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/view/10/slt_good_2.test") +} + +func TestSqlLiteLogic_testindexview10slt_good_3_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/view/10/slt_good_3.test") +} + +func TestSqlLiteLogic_testindexview10slt_good_4_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/view/10/slt_good_4.test") +} + +func TestSqlLiteLogic_testindexview10slt_good_5_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/view/10/slt_good_5.test") +} + +func TestSqlLiteLogic_testindexview10slt_good_6_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/view/10/slt_good_6.test") +} + +func TestSqlLiteLogic_testindexview10slt_good_7_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/view/10/slt_good_7.test") +} + +func TestSqlLiteLogic_testindexview100slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/view/100/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexview100slt_good_1_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/view/100/slt_good_1.test") +} + +func TestSqlLiteLogic_testindexview100slt_good_2_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/view/100/slt_good_2.test") +} + +func TestSqlLiteLogic_testindexview100slt_good_3_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/view/100/slt_good_3.test") +} + +func TestSqlLiteLogic_testindexview100slt_good_4_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/view/100/slt_good_4.test") +} + +func TestSqlLiteLogic_testindexview100slt_good_5_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/view/100/slt_good_5.test") +} + +func TestSqlLiteLogic_testindexview1000slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/view/1000/slt_good_0.test") +} + +func TestSqlLiteLogic_testindexview10000slt_good_0_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/index/view/10000/slt_good_0.test") +} + +func TestSqlLiteLogic_testselect1_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/select1.test") +} + +func TestSqlLiteLogic_testselect2_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/select2.test") +} + +func TestSqlLiteLogic_testselect3_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/select3.test") +} + +func TestSqlLiteLogic_testselect4_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/select4.test") +} + +func TestSqlLiteLogic_testselect5_test( + t *testing.T, +) { + defer leaktest.AfterTest(t)() + runSqliteLogicTest(t, "/test/select5.test") +} diff --git a/pkg/storage/pebble_merge.go b/pkg/storage/pebble_merge.go index 44834f7b5b06..48516857e7ea 100644 --- a/pkg/storage/pebble_merge.go +++ b/pkg/storage/pebble_merge.go @@ -315,7 +315,7 @@ func (t *MVCCValueMerger) Finish(includesBase bool) ([]byte, io.Closer, error) { sortAndDeduplicateRows(merged) } - meta := &t.metaSubset // avoid allocation + meta := &t.metaSubset // avoid allocatio *meta = enginepb.MVCCMetadataSubsetForMergeSerialization{ RawBytes: make([]byte, mvccHeaderSize+merged.Size()), } diff --git a/pkg/testutils/release/cockroach_releases.yaml b/pkg/testutils/release/cockroach_releases.yaml index 5952fd9c6b0f..5378e0bd0de5 100644 --- a/pkg/testutils/release/cockroach_releases.yaml +++ b/pkg/testutils/release/cockroach_releases.yaml @@ -29,6 +29,5 @@ withdrawn: - 24.2.1 predecessor: "24.1" -"24.3": - latest: 24.3.0-beta.3 +"25.1": predecessor: "24.2" diff --git a/pkg/upgrade/upgrades/upgrades.go b/pkg/upgrade/upgrades/upgrades.go index 94e7b7a25bf6..fc3f1e08b1a4 100644 --- a/pkg/upgrade/upgrades/upgrades.go +++ b/pkg/upgrade/upgrades/upgrades.go @@ -142,6 +142,8 @@ var upgrades = []upgradebase.Upgrade{ upgrade.RestoreActionNotRequired("cluster restore does not restore this table"), ), + newFirstUpgrade(clusterversion.V25_1_Start.Version()), + // Note: when starting a new release version, the first upgrade (for // Vxy_zStart) must be a newFirstUpgrade. Keep this comment at the bottom. }